php strip_tags() 関数は、文字列内の html、php、xml タグをフィルタリングするために使用されることは誰もが知っています。この関数は、必要な html タグ のみを保持できますが、指定された html タグをフィルタリングすることはできません。指定したHTMLタグをフィルタリングして除外するにはどうすればよいですか?今日は、文字列内の特定のタグのみをフィルターするための PHP のstrip_tags() について詳しく説明します。
php は指定された HTML タグを文字列から削除します。strip_tags() 関数は、次のような必要な HTML タグのみを保持できるため、使用できません。
strip_tags($string); //去掉$string字符串中所以的html标签. strip_tags($string,'<div><img><em>'); //去掉除了<div><img><em>以外的所有标签,即保留字符串中的div、img、em标签。
指定された HTML タグを削除するには、それを記述することしかできません。関数は次のとおりです:
function strip_only_tags($str, $tags, $stripContent = FALSE) { $content = ''; if (!is_array($tags)) { $tags = (strpos($str, '>') !== false ? explode('>', str_replace('<', '', $tags)) : array($tags)); if (end($tags) == '') { // http://www.manongjc.com/article/1213.html array_pop($tags); } } foreach($tags as $tag) { if ($stripContent) { $content = '(.+<!--'.$tag.'(-->|s[^>]*>)|)'; } $str = preg_replace('#<!--?'.$tag.'(-->|s[^>]*>)'.$content.'#is', '', $str); } return $str; }
パラメータの紹介:
$str は、フィルタリングする必要がある文字列を指します。
$tags は、削除される HTML タグを指します。
$stripContent は、タグ内のコンテンツを削除するかどうかを示します。デフォルトは False で、タグ内のコンテンツは削除されません。
使用例:
<?php $string='<div><a href="http://www.manongjc.com">码农教程<em>斜体</em></a><strong>加粗</strong></div>'; $target = strip_only_tags($string, array('a','em'));//移除$string字符串内的a、em、b标签。 var_dump($target); $target = strip_only_tags($string, array('em'),true); //移除$string字符串内的a、em、b标签,并移除标签里面的内容 var_dump($target); ?>
概要:
友達はこの記事を勉強して、文字列内の特定のタグのみをフィルタリングするためのphpのstrip_tags()についてある程度理解していると思います。お仕事について 助かりました!
関連する推奨事項;
php string関数strip_tagsの使い方のまとめ()
以上が文字列内の特定のタグのみをフィルタリングする、php のstrip_tags() の分析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。