首页 / 网页编程 / PHP / PHP使用正则表达式清除超链接文本
可以用$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);