正则清除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>');



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。