Preg_replace:如何剥离超链接,但仅当超链接包含特定文本时

时间:2011-01-13 20:11:38

标签: php

我想删除超链接,因此只保留文本。那么

<a href='www.mysite.com/directory/'>Click Here For My Site</a>

简单地成为

Click Here For My Site

到目前为止我有这个并且它有效:

$content = preg_replace('#<a.*>(.*)</a>#isU', "$1",  $content);

但是,如果超链接包含特定的测试“目录”,我只想删除超链接。

在这种情况下,下面的链接(不包含“目录”一词)不会被剥夺它的超链接。

<a href='www.mysite.com/FORUM/'>Click Here For My Site</a>

我无法弄清楚如何做到这一点!无论我尝试什么似乎都不起作用...... :(

1 个答案:

答案 0 :(得分:1)

$content = preg_replace('/<a[^>]+directory[^>]*>(.*)<\/a>/isU', "$1",  $content);

只要在开头<a>标记中显示“目录”一词,就会抓取超链接中的文字