在我的WordPress博客中,我在添加新帖子表单的“描述”字段中插入了以下内容。
sss'ss''ss'''ss"ss""sss"""
我正在应用过滤器钩子(add_filter) the_content()函数,如下所示。基本上我想显示非间隔字,如果它存在超过50个字符的意思,我想在50个字符后给出空格。所以我使用 wordwrap 函数来做到这一点。但是在内容中使用特殊字符时,我会得到如下所述的有线输出。
function.php
function filter_content($content) {
global $post;
$original = wordwrap($content,50,' ',' ' );
return $original;
}
add_filter( 'the_content', 'filter_content' );
输出
sss’ss”ss”’ss”ss& #8221;"sss”"”
答案 0 :(得分:1)
<强>问题:强>
wordwrap函数将特殊章程(引号,双引号等)转换为html实体,并计算为字符串.50字符出现在&amp;之间。和<来自“。虽然它除以输出为&amp; #8221; 即可。
<强>解决方案:强>
而不是php只需尝试使用css解决方案自动换行属性。因此,将自动换行:break-word; 样式应用于段落标记。破字价值将迫使破解这个词。但是没有选择给出像50这样的数字。它将换行取决于容器宽度。
p{
word-wrap:break-word;
}