タグ表示について

CMSファクトリー4について

タグ表示について

投稿記事by assist » 2010年9月13日(月) 20:02

「PHPコード作成」で作成されたecho文をそのまま配置すると、たとえば、タグを入力している場合有効になります。javascriptで操作できてしまいます。
wysiwyg の場合は一部仕方ないと思われますが、テキストボックスの場合は、エスケープ処理したく、仮にhtmlspecialchars関数を挟むとします。
ただ、こちらの場合は、改行部分で<br />がエスケープされ、そのまま表示されるようです。こちらを回避するにはどうする方法が適切でしょうか。
つまり、エスケープ処理した後、改行コード→<br />にして出力する方法となります。

教えていただけますと助かります。
よろしくお願い致します。
assist
 
記事: 2
登録日時: 2010年8月24日(火) 09:26

Re: タグ表示について

投稿記事by cmsfactory4 » 2010年9月14日(火) 22:33

assistさん、

ご質問、どうもありがとうございます。

下記内容は、ビューア(コンテンツ表示ページ)の事を示しているのでしょうか。
「PHPコード作成」で作成されたecho文をそのまま配置すると、たとえば、タグを入力している場合有効になります。javascriptで操作できてしまいます。

もし宜しければ、作成中のコードをメールにて添付送信をお願い致します。

また、nl2br() はどうでしょうか。

例と致しましては、
コード: 全て選択
$content = 'hello<br><a href="http://google.com/">world';
$content = preg_replace('#<br\s*/?>#i', "\n", $content);
echo nl2br(htmlspecialchars($content));
となります。
アバター
cmsfactory4
Site Admin
 
記事: 78
登録日時: 2010年4月13日(火) 20:53

Re: タグ表示について

投稿記事by cmsfactory4 » 2010年9月15日(水) 15:21

また、以下をご参考下さい。

テキストボックスの「上級オプション」のフィールド属性にて、自動書式を無効に(改行タグを挿入しない)設定できます。

上記設定を行った上で

▼調整する場合は以下
コード: 全て選択
<?php echo nl2br(htmlspecialchars($Record['content'])) ?>

で、<br/>を表示せず、JavaScriptコードが表示されます。
現時点での最もシンプルな対応方法だと思います。
アバター
cmsfactory4
Site Admin
 
記事: 78
登録日時: 2010年4月13日(火) 20:53


Return to CMSファクトリー4

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[5人]

cron