phpでhtmlタグとタグ内のコンテンツを削除する方法のまとめ
他のウェブサイトの記事をよく読む人; 内容をまったく読まずにまとめて収集する人; 目的別に 3 つの方法を紹介します。
$str='<div><p>这里是p标签</p><img src="" alt="这里是img标签"><a href="">这里是a标签</a><br></div>';
1: すべて削除するか、指定した HTML タグを保持します
PHP に付属する関数strip_tags は要件を満たすことができます。使用法:strip_tags(string,allow);
文字列: 処理する必要がある文字列
許可: 保持する必要がある複数の指定されたタグを記述することができます。
二次関数の利点はシンプルで粗雑なことですが、欠点も明らかです。タグが多数あり、指定したタグを削除したいだけの場合は、大量のタグを記述しなければなりません。保持する必要があるタグ そこで、2 番目の方法があります。
<?php echo strip_tags($str,'<p><a>'); ?> //输出:<p>这里是p标签</p><a href="">这里是a标签</a>
使用方法:strip_html_tags($tags,$str); $tags: 削除する必要があるタグ (配列形式)
$str: 処理される文字列。
3: タグとタグの内容を削除します<?php function strip_html_tags($tags,$str){ $html=array(); foreach ($tags as $tag) { $html[]="/(<(?:\/".$tag."|".$tag.")[^>]*>)/i"; } $data=preg_replace($html, '', $str); } echo strip_html_tags(array('p','img'),$str); ?> //输出<div>这里是p标签<a href="">这里是a标签</a><br></div>;
$tags: 削除が必要なタグ(配列形式)
$str: 処理される文字列
多くの Web サイト記事には、Bai Junyao のブログ などの Web サイト名とリンクが含まれています。この機能は、これを処理するように設計されています。このサイトから情報を収集するためにこの機能を使用しないでください。そうでない場合は、あなたを殴り殺すことはないと約束します。
4: 究極の機能。指定されたタグを削除します。
<?php function strip_html_tags($tags,$str){ $html=array(); foreach ($tags as $tag) { $html[]='/(<'.$tag.'.*?>[\s|\S]*?<\/'.$tag.'>)/'; } $data=preg_replace($html,'',$str); } echo strip_html_tags(array('a','img'),$str); ?> //输出<div><p>这里是p标签</p><img src="" alt="这里是img标签"><br></div>;
使用方法:strip_html_tags($tags,$str,$content);
$tags: 削除が必要なタグ(配列形式) $str: 処理される文字列
$ontent: タグ内の内容を削除するかどうか 0 内容を保持する 1 内容を保持しない