[置顶] 正则清除HTML标签但保留其中一部分标签

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

用asp语言实现

str="<a href=""a.htm"">a.htm</a><div>afefe</div>feaa<b>bbb</b>
<a href=http://www.baidu.com id=""ggg"">ggg</a><abbr>测试</abbr>"
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 href="a.htm">a.htm</a><div>afefe</div>feaa<b>bbb</b><a href=http://www.baidu.com id="ggg">ggg</a><abbr>测试</abbr>';
echo preg_replace('/(<(?!\/?(a|p|b)(\s|\>))[^>]*>)/', '', $str); 
?>

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

$str='<a href="a.htm">a.htm</a><div>afefe</div>feaa<b>bbb</b><a href=http://www.baidu.com id="ggg">ggg</a><abbr>测试</abbr>';
echo strip_tags($str,'<b><a><p>');



你可能感兴趣的:([置顶] 正则清除HTML标签但保留其中一部分标签)