preg-replace,xhtml strict,php,& &符号错误

时间:2011-04-19 20:00:28

标签: php preg-replace ampersand

想知道是否有一个方便的preg_replace或类似功能可以将我的所有&更改为&但不会将&更改为&(不会更改已经采用正确格式的&

我在显示有(用户提交)&的页面时遇到问题,我想在页面显示之前更改它们(从mysql提取的文本块)。

帮助将不胜感激。 欢呼声。

PS:我想过使用带有&的str_replace;两边都有空格,但后来我不再考虑Bob &Jenny之类的拼写错误代替Bob & Jenny(自用户提交以来)。

2 个答案:

答案 0 :(得分:1)

您可以使用?!断言:

$html = preg_replace('/&(?!#?\w+;)/', "&", $html);
              # or just (?!amp;)

这也会跳过现有的& amp; amp; amp;和其他& lt;或{实体。但它肯定不是完美的。

答案 1 :(得分:0)