[英]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.