ホームページ >PHPフレームワーク >ThinkPHP >thinkphp が HTML タグをフィルタリングしない場合の対処方法
thinkphp が HTML タグをフィルタリングしない場合の解決策: 1. 対応する tp ファイルを開きます; 2. "strip_tags(htmlspecialchars_decode($data['post']['post_content'])); メソッドを使用します。変換されたエンティティは元に戻すことができます。
このチュートリアルの動作環境: Windows 7 システム、ThinkPHP バージョン 5、Dell G3 コンピューター。
thinkphp が HTML タグをフィルタリングしない場合はどうすればよいですか?
TP5 ストリップタグを使用して HTML タグをフィルタリングする解決策が機能しません
strip_tags を使用して ThinkPHP5 で HTML タグをフィルタリングする解決策が機能しません
記事の保存プロセス中に、フロントエンドの Uediter エディターで編集された HTML コンテンツ内のテキストを取得する必要があります。基本的な考え方は、PHP 独自の関数strip_tags() を使用して
## を直接フィルターすることです。 #したがって、次のように直接編集します。
$data = $this->request->param(); $data['post']['content'] = strip_tags($data['post']['post_content']); echo $data['post']['post_content']; echo $data['post']['content'];出力内容は次のとおりです。strip_tags() 関数は機能しません。
<p>RWERWERWhgj<strong>ghhfhgn</strong>bfghgh</p> <p>RWERWERWhgj<strong>ghhfhgn</strong>bfghgh</p>TP5 手動入力変数の章変数フィルタリングを見ると、デフォルトで、TP5 は htmlspecialchars を使用して、フロントエンドから渡された文字列を HTML エンティティに変換します。したがって、私の解決策は、変換されたエンティティを逆にすることです。 htmlspecialchars_decode() 関数を使用して実現します:
$data = $this->request->param(); $data['post']['content'] = strip_tags(htmlspecialchars_decode($data['post']['post_content'])); echo $data['post']['post_content']; echo $data['post']['content'];出力は次のようになり、変換は成功しました:
<p>RWERWERWhgj<strong>ghhfhgn</strong>bfghgh</p> RWERWERWhgjghhfhgnbfghgh推奨される学習: 「
thinkPHP ビデオ」チュートリアル###"###
以上がthinkphp が HTML タグをフィルタリングしない場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。