ホームページ  >  記事  >  バックエンド開発  >  PHP 正規表現フィルタリング HTML タグ属性 (デモ)、正規表現デモ_PHP チュートリアル

PHP 正規表現フィルタリング HTML タグ属性 (デモ)、正規表現デモ_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-12 08:53:301106ブラウズ

PHP 正規表現による HTML タグ属性のフィルタリング (デモ)、正規表現デモ

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);


http://www.bkjia.com/PHPjc/1123816.html

www.bkjia.com本当http://www.bkjia.com/PHPjc/1123816.html技術記事 PHP 正規表現フィルタリング HTML タグ属性 (デモ)、正規表現デモ フィルタリング HTML タグは PHP に組み込み関数を持つことができますが、あまりにもきれいにフィルタリングされるため、いくつかの利点を整理しました...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。