1

在我的 WordPress 博客中,我在添加新帖子表单的“描述”字段中插入了以下内容。

sss'ss''ss'''ss"ss""sss"""

我正在应用过滤器钩子(add_filter) the_content()函数,如下所示。基本上,如果存在超过 50 个字符的意思,我想显示非空格单词,我想在 50 个字符后留出空格。所以我使用了自动换行功能来​​做到这一点。但是,在内容中使用特殊字符时,我得到了如下所述的有线输出。

函数.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”"”
4

1 回答 1

1

问题:

wordwrap函数正在将特殊字符(引号、双引号等)转换为 html 实体并计为字符串。在 & 和 # from 之间发生 50 个 字符虽然我们得到的输出为& #8221; .

解决方案:

而不是 php,只需尝试 css 解决方案word-wrap属性。所以应用word-wrap:break-word; 为您的段落标签添加样式。break-word value 将强制断字。但是没有选项可以给出 50 之类的数字。它将包裹取决于容器的宽度。

p{
 word-wrap:break-word; 
}
于 2012-11-30T11:05:10.660 回答