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

2025-06-21 15:18:33
推荐回答(3个)
回答1:

调用下面函数,想去掉什么标签,就去掉什么
/**
* 去掉指定的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 = "您好百度一下,你就知道";
echo _strip_tags(array("b", "input", "a"),$str); #去掉 B 标签和 INPUT 标签
?>

回答2:

....
$str = '

修改回答


124
';

$search = "/<(?!(p|\/p|br|style|\/style))[^>]*?>/si";
$replace = '';
echo preg_replace($search, $replace, $str);
?>
……………………

补充:
以上你还不满意,还有一个最简单的,使用PHP自带的函数strip_tags()
$str = '

修改回答


124
';
$rr = strip_tags($str,'