我必须将某些代码中的“page1”替换为“<a href="/page1">page1</a>
”
但是,如果它还不是链接,我只想这样做。我怎样才能使用php正则表达式做同样的事情。
<a href="/page1">page1</a>
<a href="/page1">page1</a>
- &gt;什么都不应该改变答案 0 :(得分:1)
如果您事先知道确切的链接文本,那么您可以检查它之前和之后是否存在引号或有角度的括号。 您确定这是您应该问的问题吗?
对于确切的字符串&#39; page1&#39;:
preg_replace('#(^|[^"\'>])\s*(page1)\s*($|[^"\'<])#is', '<a href="$2">$2</a>', $s);
这是一个糟糕的解决方案尽管如此。您应该使用HTML解析器,因为正则表达式对于这样的事情永远不可靠。在某些条件下可以破解。