preg_replace和里面的条件?

时间:2011-06-28 08:22:09

标签: php preg-replace

我使用此代码从文本中删除所有链接:

$ string = preg_replace(“/ \ _] )>([^<] )\< / a> / i”,“$ 2”,$ string);

但我想以某种方式不要剥离指向某个域的链接,例如google.com 所以,我想删除所有其他网址,但要保持与一个域的链接。

如何在preg_replace中添加一些条件?

1 个答案:

答案 0 :(得分:2)

您需要使用preg_replace_callback()作为条件。

但是你可能会更好地解析HTML并操纵DOM。原因是,你的正则表达式总是会有一些缺陷。例如,当前的一个不会阻止某人添加这样的链接:

<a href=evil><b>foo</b></a >