想知道是否有一个方便的preg_replace或类似功能可以将我的所有&
更改为&
但不会将&
更改为&
(不会更改已经采用正确格式的&
。
我在显示有(用户提交)&
的页面时遇到问题,我想在页面显示之前更改它们(从mysql提取的文本块)。
帮助将不胜感激。 欢呼声。
PS:我想过使用带有&的str_replace;两边都有空格,但后来我不再考虑Bob &Jenny
之类的拼写错误代替Bob & Jenny
(自用户提交以来)。
答案 0 :(得分:1)
您可以使用?!
断言:
$html = preg_replace('/&(?!#?\w+;)/', "&", $html);
# or just (?!amp;)
这也会跳过现有的& amp; amp; amp;和其他& lt;或{实体。但它肯定不是完美的。
答案 1 :(得分:0)