[显示Hellip而不是[...](&H)

时间:2013-08-07 作者:Rookie

我的wordpress网站有一些问题,而不是[…]我到处都很忙。我已将字符集更改为UTF-8,但问题仍然存在。如果有任何帮助,将不胜感激。

以下是网站链接:http://theappjuice.com/

3 个回复
SO网友:misterrita

我对这个问题感到非常失望(并且很失望OP没有让我们知道他是如何解决的,因为我可以在他的网站上看到他做了……也许他只是改变了主题?)。

FWIW,椭圆曾经正确显示。但是,一定是某些升级破坏了它。

我的摘录如下所示:

    the equipment involved [&hellip
源渲染如下:

    the equipment involved [&#038;hellip</p>
我希望它们能像这样显示出来:

    the equipment involved ...
我调整并使用了格式。php和默认过滤器。php无效。

最后,我认为它必须与主题相关。也许,也许不是,但这就是我最终能够修复它的地方。

我在我的主题函数中找到了这个函数。php:

    // Remove [...]
    function trim_excerpt($text) {
     return rtrim($text,\'[...]\');
    }
我将其更新为:

    // Remove [...]
    function trim_excerpt($text) {
     return $text;
    }
我真的不想在省略号周围加括号,所以我的最终版本如下所示:

    // Remove [...]
    function trim_excerpt($text) {
     $text = str_replace(\'[\', \'\', $text);
     $text = str_replace(\']\', \'\', $text);
     return $text;
    }
我的摘录现在正确地显示了省略号,至少是我想要显示它们的方式。

我希望这能帮助任何遇到这个问题的人。

SO网友:Lars van de Donk

同样的做法,我的答案是:

// Replace the default ellipsis
function trim_excerpt($text) {
     $text = str_replace(\'[&hellip;]\', \'\', $text);
     return $text;
    }
add_filter(\'get_the_excerpt\', \'trim_excerpt\');

SO网友:SergeyBiryukov

为了澄清发生的原因,因为rtrim( $text, \'[...]\' ) 用于删除某些主题中默认省略号的符号不正确。

trim() function description, 第二个参数被视为字符列表,而不是字符串。此外[... 被视为从句号(代码2E)到开口方括号(代码5B)的ASCII字符范围。所以[...] 子字符串中,所讨论的代码将删除该范围内的任何字符(包括分号、代码3B)以及右方括号。

在WordPress 3.6中,[...] was changed to [&hellip;] 为了更好的排版。

然而,这本身不是一个问题rtrim( $text, \'[...]\' ) 删除该字符串的最后两个字符,只留下[&hellip.

解决方案是使用str_replace( \'[&hellip;]\', \'\', $text ) 对于WordPress 3.6+,或str_replace( \'[...]\', \'\', $text ) 对于早期版本。如果愿意,也可以将两种替换组合在一起:str_replace( array( \'[&hellip;]\', \'[...]\' ), \'\', $text ).

结束

相关推荐