很多时候我们正则清除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>');