繁体   English   中英

preg-replace,xhtml严格,php和&符错误

[英]preg-replace, xhtml strict, php, & ampersand error

想知道是否有方便的preg_replace或类似的函数会将我的所有&更改为& 但不会改变& & (不会改变&已在正确的格式)。

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

帮助将不胜感激。 干杯。

PS:我曾想过使用str_replace,并且两侧各有一个&,但后来我不再考虑Bob &Jenny类的错别字来代替Bob & Jenny (自用户提交以来)。

您可以使用?! 断言:

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

这也会跳过现有的& 和其他< 或{ 实体。 但这当然不是完美的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM