升级到PHP 5.5后,某些字符串的html_entities返回空白。具体来说,它似乎是包含法语字符的字符串。我已经尝试将其设置为UTF-8但仍然空白:
htmlentities($str,ENT_COMPAT, 'UTF-8');
有人知道这里发生了什么吗?
我的代码在PHP 5.3.3上没有问题。
感谢您的帮助。
编辑:评论中的示例字符串
"<h1>Obtenez de meilleurs résultats en moins de temps. Garanti.</h1>"
答案 0 :(得分:1)
来自http://php.net/manual/en/function.htmlentities.php
如果输入字符串在给定编码中包含无效的代码单元序列,则将返回空字符串,除非设置了ENT_IGNORE或ENT_SUBSTITUTE标志。
类似
<?php
$str = "<h1>\xe2 title</h1>";
echo htmlentities($str,ENT_COMPAT, 'UTF-8');
将返回一个空字符串