プロが教える店舗&オフィスのセキュリティ対策術

<textarea></textarea>より入力した文章をMySQLデータベースから取り出して表示するときに、

このように↓表示しています。
<?=nl2br(h($row['content']))?><br>

※h は関数にしたhtmlspecialcharsです。

function h($s) {
return htmlspecialchars($s, ENT_QUOTES, 'utf-8');
}

ただ全てのタグがつかえなくなるので、指定したタグ<p> <img> <a> などよくつかうものだけ
許可するにはどのようにすればよいでしょうか?
やはり、strip_tags関数でデータベースに入れる前に指定したものを許可するしかないですか?

A 回答 (1件)

状況わからないのでなんとも言えませんが


いったんhtmlspecialcharsしたあと、
特定のタグに該当するぶんだけstr_replaceで元に戻してみては?
    • good
    • 0
この回答へのお礼

ありがとうございます。 str_replaceを使うという考えはありませんでした。調べて試して見ます♪

お礼日時:2016/05/30 09:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!