私の選択したいくつかのタグを除いて、すべてのhtmlタグをフィルタリングする方法はあります<strong>, or <b>, <i>
か? 私は htmlentities が仕事をすることを知っていますが、すべての HTML タグをフィルタリングします。
質問する
60 次
2 に答える
3
これを確認してください:http://www.php.net/strip_tags
// Allow <p> and <a>
echo strip_tags($text, '<p><a>');
編集:実際、「フィルター」とはどういう意味ですか?
于 2013-04-25T08:52:28.273 に答える
1
いいえ、安全な方法はありません。php の strip_tags はこれらのタグを許可しますが、これは xss に対して脆弱になることを意味します。それを回避するためのより良いアプローチは kses ( http://sourceforge.net/projects/kses/ ) で、wordpress が使用するものです。
また、htmlpurifier ( http://htmlpurifier.org/ ) は、私が提案する方法です。
あなたのコンテキストでは、strip_tags を使用して必要なタグのみを保持し、結果の文字列を htmlpurifier フィルターに渡して、xss されないようにします。
于 2013-04-25T08:59:41.993 に答える