当前位置:首页 > PHP教程 > 正则表达式 > 列表

PHP使用正则表达式清除超链接文本

发布:smiling 来源: PHP粉丝网  添加日期:2020-06-23 16:43:28 浏览: 评论:0 

有些时候,我们需要对一些html文本进行处理,比如需要将文本中的超链接内容去除,这个时候就需要用到正则表达式。

可以用$str = preg_replace("/<a[^>]*href=[^>]*>|<\/[^a]*a[^>]*>/i","",$strhtml); 这段来实现需求,如果想要更多解决方法,可以参看以下的。

1、删除内容中的超链接,代码如下:

  1. ereg_replace('<a([^>]*)>([^<]*)</a>','<font color="red">\\2</font>',$content); 
  2. ereg_replace("<a [^>]*>|<\/a>","",$content); 

2、消除包含特定词的超链接,代码如下:

  1. $find="this string is my find"
  2. $string='<font color="red">替换掉了</font>';//将超链接替换成的内容 
  3. echo ereg_replace('<a([^>]*)>([^<]*'.$find.'[^>]*)</a>','<font color="red">\\2</font>',$content); 

3、获取超链接文本内容,代码如下:

  1.  //方法一 
  2.  preg_match_all('/<(a|a)[s]{0,1}[w=":()]*>[nrn]*(check user)[nrn]*</(a|a)>/i',$string,$matches); 
  3.  
  4. //方法二 
  5.  preg_match_all('/<a[dd]*>check user</a>/i',$string,$matches); 
  6.  print_r($matches); 
  7.  
  8. //方法三 
  9.  preg_match_all('/<a[^>]*>[^<]*</a>/i',$string,$matches); 
  10.  print_r($matches); 
  11.  
  12. //方法四 
  13.  preg_match_all('/<a.+?>check user</a>/is',$str,$arr); 
  14.  print_r($arr); 
  15.  
  16. //方法五 
  17.  preg_match_all('/<a.+?>check user</a>/is',$str,$arr); 
  18.  print_r($arr); 

我用了这句 $year = preg_replace("/<a[^>]*href=[^>]*>|<\/[^a]*a[^>]*>/i","",$yearstr);

Tags: PHP清除超链接文本

分享到: