加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php strip_tags()如何只过滤字符串中某一个标签

发布时间:2020-05-25 02:04:58 所属栏目:PHP 来源:互联网
导读:我们大家都知道,php strip_tags()函数用于过滤掉字符串中html、php、xml标签,该函数只能保留想要的html标签,而不能过滤掉指定的html标签,那么如何实现过滤掉指定的html标签呢?

php去掉字符串中指定的html标签,我们不能使用strip_tags()函数,因为这个函数只能保留想要的html标签,如:

strip_tags($string); //去掉$string字符串中所以的html标签. http://www.manongjc.com/article/1213.html

strip_tags($string,''); //去掉除了以外的所有标签,即保留字符串中的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 = '(.+|s[^>]*>)|)';

}

$str = preg_replace('#|s[^>]*>)'.$content.'#is',$str);

}

return $str;

}

参数介绍:

$str是指需要过滤的字符串。

$tags是指要移除的html标签。

$stripContent表示是否移除标签内的内容,默认为False,即不删除标签内的内容。

使用实例:

$string='斜体加粗';

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

?>

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读