首页 > 语言 > PHP > 正文

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

2024-09-04 11:47:41
字体:
来源:转载
供稿:网友

有些时候,我们需要对一些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);

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表