所以我使用substr来限制我展示的新闻文章的数量。这是代码:
substr(strip_tags($news['content']),0,$content_length) . '...';
问题只发生在蓝色的月亮......当它试图在撇号附近切断时。我得到以下输出Hoye&#...
在这种情况下,$news['content']
为"Hoye's Pharmacy will be closed....."
。在这种情况下,$content_length
值恰好是8.有人建议尝试mb_substr
,但这并没有解决问题。
答案 0 :(得分:3)
看起来内容包含编码的HTML字符实体,并且您的子字符串碰巧在其中一个字符串的中间切断字符串。
e.g。
$string = "Hello & Goodbye";
$broken = substr($string, 0,7); // Hello &a
如果你在浏览器中查看完整的字符串,它会将编码的实体转换为它的“显示”版本,所以你会看到真正的角色,但是一旦你用substr砍掉它一半,你就会得到而是部分& #xxx部分,因为它无法翻译。