php 正则清除HTML标签但保留其中一部分标签

作者:袖梨 2022-06-25

很多时候我们正则清除HTML标签但总希望保留其中一部分标签

用asp语言实现

 代码如下 复制代码

str="a.htm

afefe
feaabbb 

ggg测试

Set re=new RegExp    

 re.IgnoreCase =true    

 re.Global=True    

 re.Pattern="(<(?!/?(a|p|b)(\s|>))[^>]*>)"    

 str=re.replace(str," ")    

 response.Write str  


那正则也可以用在其他语言里实现里实现

用php语言实现如下:

 代码如下 复制代码


$str='a.htm

afefe
feaabbbggg测试'; 
echo preg_replace('/(<(?!\/?(a|p|b)(\s|\>))[^>]*>)/', '', $str);  
?> 

当然php有更简单的实现方法:

 代码如下 复制代码

$str='a.htm

afefe
feaabbb

或者这样写

 代码如下 复制代码

/**
* @param $content
* @return mixed
* 过滤a标签保留内容
*/
public function delete_tags_a($content){
$content = preg_replace("#]*>(.*?)#is", "$1", $content);
return $content;
}

相关文章

精彩推荐