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

前端技术 2023/09/07 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);

本文地址:https://www.stayed.cn/item/19600

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。