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

网络编程 2021-07-05 09:49www.168986.cn编程入门
有些时候,我们需要对一些html文本进行处理,比如需要将文本中的超链接内容去除,这个时候就需要用到正则表达式

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

代码如下:

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

2、消除包含特定词的超链接

代码如下:

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

3、获取超链接文本内容

代码如下:

//方法一
preg_match_all('/<(a|a)[s]{0,1}[w=":()]>[nrn](check user)[nrn]</(a|a)>/i',$string,$matches);

//方法二
preg_match_all('/<a[dd]>check user</a>/i',$string,$matches);
print_r($matches);

//方法三
preg_match_all('/<a[^>]>[^<]</a>/i',$string,$matches);
print_r($matches);

//方法四
preg_match_all('/<a.+?>check user</a>/is',$str,$arr);
print_r($arr);

//方法五
preg_match_all('/<a.+?>check user</a>/is',$str,$arr);
print_r($arr);

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

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by