この記事では、phpチュートリアルのhtmlタグのフィルタリング方法について、さまざまな方法をまとめています。PHP独自の関数を使用してhtmlタグをフィルタリングする方法や、ユーザー定義関数や正規表現を使用してhtmlタグをフィルタリングする方法があります。まずは最も簡単な 2 つの方法を見てみましょう。
方法1
echotrip_tags("hello world!");
ストリップタグ --- 文字列から html タグと php タグを削除します構文: string Stripe_tags (string str [, string allowed_tags])
説明:
この関数は、指定された文字列からすべての html タグと php タグを削除しようとします。それが不完全なタグである場合、またはタグを削除するのに fgetss() と同じメソッドが使用されます。
$reg = '/(?p>|)|<.+?>/i';
echo preg_replace($reg,'$1',$str);
?>フィルタリング方法その2
function delhtml($str){ //HTMLタグをクリア
$st=-1; // 開始
$et=-1; //終了
$stmp=array();
$stmp[]=" ";
$len=strlen($str);
for($i=0;$i $ss=substr($str,$i,1);
If(ord($ss)==60){ //ord("<")==60
$st=$i;
}
If(ord($ss)==62){ //ord(">")==62
$et=$i;
If($st!=-1){
$stmp[]=substr($str,$st,$et-$st+1);
}
}
}
$str=str_replace($stmp,"",$str);
$str;
を返します }フィルタリング方法その3
関数clear_html_label($html)
{
$search = array ("''si", "'<[/!]*?[^<>]*? >'si", "'([rn])[s]+'", "'&(quot|#34);'i", "'&(amp|#38);'i", "' &(lt|#60);'i"、"'&(gt|#62);'i"、"'&(nbsp|#160);'i"、"'&(iexcl|#161); 'i"、"&(セント|#162);'i"、"&(ポンド|#163);'i"、"'&(copy|#169);'i"、"' (d+);'e");
$replace = array ("", "", "1", """, "&", "<", ">", " ", chr(161), chr(162), chr(163) 、chr(169)、"chr(1)");preg_replace($search, $replace, $html)を返す
}//アプリケーション例
$string ='aaa
。
script>fdsafsa'; echo clear_html_label($string);//aaa fdsafsa