PHP: preg_match搜索并替换href


PHP: preg_match search and replace href

我有HTML和包含许多这样的链接:

<a href="http://www.mydomain1.com">Click Me</a>

我想:

复制原链接:http://www.mydomain1.com

使所有href的最终输出变为:

<a href="test.php?url=http://www.mydomain1.com">Click Me</a>

如何做到这一点?

在HTML上使用正则表达式通常不是一个好的做法。使用DOM解析器代替:

  • http://simplehtmldom.sourceforge.net/
  • https://code.google.com/p/ganon/

如果你真的需要,你可以使用我的正则表达式从这个答案:

$regexForHREF = "/href[ ]*=[ ]*(?:'"|')(.+?)(?:'"|')/";

来获取href值,然后你可以使用str_replace添加你的"test.php?url=".