首页 > PHP开发 > 正则清除HTML标签但保留其中一部分标签

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

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

用asp语言实现

[vb]

  1. str="<a href=""a.htm"">a.htm</a><div>afefe</div>feaa<b>bbb</b>  
  2. <a href=http://www.baidu.com id=""ggg"">ggg</a><abbr>测试</abbr>"  
  3. Set re=new RegExp     
  4.  re.IgnoreCase =true     
  5.  re.Global=True     
  6.  re.Pattern="(<(?!/?(a|p|b)(\s|>))[^>]*>)"     
  7.  str=re.replace(str," ")     
  8.  response.Write str   

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

用php语言实现如下:

[php]

  1. $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>';  
  2. echo preg_replace('/(<(?!\/?(a|p|b)(\s|\>))[^>]*>)/'''$str);   
  3. ?>  


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

[php]

  1. $str='<a href="a.htm">a.htm</a><div>afefe</div>feaa<b>bbb</b

本文固定链接: http://www.devba.com/index.php/archives/6036.html | 开发吧

报歉!评论已关闭.