求一个php简单的过滤除<br>,<p>,<style>html标签的正则或方法

html-css044

求一个php简单的过滤除<br>,<p>,<style>html标签的正则或方法,第1张

调用下面函数,想去掉什么标签,就去掉什么

<?php

/**

* 去掉指定的html标签

* @param array $string

* @param bool $str

* @return string

*/

function _strip_tags($tagsArr,$str) {

foreach ($tagsArr as $tag) {

$p[]="/(<(?:\/".$tag."|".$tag.")[^>]*>)/i"

}

$return_str = preg_replace($p,"",$str)

return $return_str

}

$str = "<b>您好</b><input type='text' name='' /><a href='http://www.baidu.com'>百度一下,你就知道</a>"

echo _strip_tags(array("b", "input", "a"),$str)#去掉 B 标签和 INPUT 标签

?>

选择1.将特殊符号进行转换,可以用htmlspecialchars把<变为“<”等

选择2.用正则表达式替换,将标签都删除:

$content=preg_replace('/\<.+?\>/','',$content)

<?php

$str='<h2 class="b-fl ellipsis" title=""><span class="entity-icon sprite-list-ic b-in-blk b-ic-book" style="background-position: -64px -80px"></span>我所理解的生活.pdf</h2>'

$str=preg_replace("/pdf/si","",$str)

echo $str

?>

测试可用