我必须将某些代码中的"page1"替换为"<a href="/page1">page1</a>
"
然而,我只想这样做,如果它还不是一个链接。如何使用php正则表达式进行同样的操作。
- 用例1-page1->应更改为
<a href="/page1">page1</a>
- 用例2-
<a href="/page1">page1</a>
->不应更改任何内容
如果你事先知道确切的链接文本,那么你可以检查它前后是否有引号或尖括号。你确定这是你应该问的问题吗
对于确切的字符串"page1":
preg_replace('#(^|[^"''>])'s*(page1)'s*($|[^"''<])#is', '<a href="$2">$2</a>', $s);
这确实是一个糟糕的解决方案。您应该使用HTML解析器,因为regex对于这样的事情永远都不可靠。它在某些条件下可能断裂。