升级到PHP 5.5后,htmlentities返回空白

时间:2015-12-21 17:05:36

标签: php html-entities php-5.5

升级到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>" 

1 个答案:

答案 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');

请参阅https://3v4l.org/9OuRE

将返回一个空字符串