HTMLブロックを使い、preタグでHTMLのソースを掲載する方法

2016年2月25日 at 12:09

・サーバー CPI
・Mac yosemite
・concrete5 5.7.5.6

■質問内容
HTMLブロックを使い、preタグでHTMLのソースを掲載したいのですが
「<」などのエスケープ文字を再編集時もそのまま保持する方法はあるのでしょうか。

こちらにも似たような質問がありますが、バージョンが5.6なのと再編集については言及されていませんでしたので質問させていただきます。
http://concrete5-japan.org/community/forums/chat/post-8513/


■症状
・「<p>あああ</p>」を「<p>あああ</p>」とHTMLブロックで保存する。(実際は半角で書いています)
・初回は「<p>あああ</p>」という文字列が正しく表示される
・再編集時にエスケープ文字が「<p>あああ</p>」に変換され、保存するとPタグが有効化され「あああ」だけになってしまいます。

タグ:

Re: HTMLブロックを使い、preタグでHTMLのソースを掲載する方法

2016年2月25日 at 12:11
http://concrete5-japan.org/community/forums/beginner/post-12782/

上記のスレッドを参考にしてください。
5.7.5.7以降のバージョンでは修正される予定です。
 

Re: HTMLブロックを使い、preタグでHTMLのソースを掲載する方法

2016年2月25日 at 12:23
ご返答ありがとうございます。
該当の記事は症状が違うと思っていましたが原因は同じでしたね。

以下の修正で解決いたしました。ありがとうございました。

concrete/blocks/html/form_setup_html.php 3行目を下記に修正
<div id="ccm-block-html-value"><?php echo h($content)?></div>

<div id="ccm-block-html-value"><?php echo htmlspecialchars($content,ENT_QUOTES,APP_CHARSET)?></div>