HTML タグのフィルタリングは PHP に組み込み関数がありますが、あまりにもきれいにフィルタリングされるため、次の目的で使用できるいくつかの正規表現を整理しました。 htmlタグのフィルタリング 指定したhtmlタグをフィルタリングする例は以下のとおりです。
収集する場合、場合によっては、冗長なタグ属性を除外する必要があります。たとえば、img タグは、タイトル alt 属性や一部の onclick 属性などの属性を削除するなど、src 属性を除くすべての属性を除外します。
例えば
src:
を除くすべての属性をフィルタリングしますコードをコピーします コードは次のとおりです:
$str= preg_replace('/s(?!src)[a-zA-Z]+=['"]{1}[^'"]+['"]{1}/iu',' $str) ;
上記のコード例は、src 属性を除くすべてのタグ属性を除外します。
フィルター設定は、alt と src を除くすべての属性をフィルターします
コードは次のとおりです:
コードをコピーします コードは次のとおりです:
$str = preg_replace('/s(?!(src|alt))[a-zA-Z]+=[^s]*/iu',' ', $str);
すべての HTML タグの属性をフィルタリングするための正規表現:
コードをコピーします コードは次のとおりです:
$str = preg_replace("/]*>/i","",$str );
alt 属性のみをフィルタリングする正規表現:
コードをコピーします コードは次のとおりです:
(s)alt=[^s]*
すべての HTML タグの属性をフィルタリングするための正規表現:
コードをコピーします コードは次のとおりです:
$search = array ("''si", // JavaScript を削除します
"'<[/!]*?[^<>]*?>'si", // HTML タグを削除します
"'([rn])[s]+'", // 空白文字を削除します
"'&(quot|#34);'i", // HTML エンティティを置換します
「'&(amp|#38);'i」、
「'&(lt|#60);'i」、
「'&(gt|#62);'i」、
「'&(nbsp|#160);'i」
); // PHP コードとして実行します
$replace = 配列 ("","","\1",""","&","<",">"," ");
$html = preg_replace($search, $replace, $html);