你值得信赖的源码站!

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

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

赞(0) 本模板价: 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《PHP使用正则表达式清除超链接文本》
文章链接:https://www.adminn.cn/915.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏