我想知道是否有一个方便的preg_replace或类似的函数,可以将我所有的&更改为&,但不会将&更改为& (不会更改已经采用正确格式的& )。
我在显示一个有(用户提交的) &的页面时遇到了问题,我想在页面中显示之前更改它们(从mysql获取的文本块)。
我们将非常感谢您的帮助。干杯。
PS:我想过使用两边都有空格的str_replace,但后来我不再考虑像Bob &Jenny这样的拼写错误,而不是Bob & Jenny (因为用户提交了)。
发布于 2011-04-20 04:09:56
为此,您可以使用?!断言:
$html = preg_replace('/&(?!#?\w+;)/', "&", $html);
# or just (?!amp;)这也会跳过现有的&和其他<或{实体。但它肯定不是完美无缺的。
https://stackoverflow.com/questions/5721971
复制相似问题