STR_REPLACE不保留空格

时间:2017-03-06 作者:user87064

我很确定这只是一个PHP问题,但我想问一下,万一这个问题可能在WordPress函数中出现。

我有一个叫做“简介文本”的术语meta,它只是对这个术语的描述。我正在尝试将描述链接到父元素。

我想做的是将一个术语链接到其父术语,如果:

父项存在

以下是代码的要点:

function replace_parent_name_with_parent_link() {

    ...

    $link = sprintf( \'<a href="%s">%s</a>\', get_term_link( $parent ), $parent->name );

    return str_replace( $parent->name, $link, $intro_text );

}
因此,这段代码在两个几乎相同的地方用作过滤器。问题是,当用作其中一个过滤器而不是另一个过滤器时,不会保留空格。

我想要什么(我在一页中得到什么):

Upbeat <a href="$link">Electronic music</a>.
我不想要的(我在另一页中得到的)。注意“Upbeat”后面缺少空格:

Upbeat<a href="$link">Electronic music</a>.
为什么会这样?当父名称前后都有空格时,它就会这样做。我反复查看了我的代码,但找不到发生这种情况的原因。请帮忙。

注意:我使用trim()尝试了不同的组合,但没有成功。

1 个回复
SO网友:Scott

使用trim()进行更改后是否清除缓存?

尝试:str_replace( trim( $parent->name ), $link, $intro_text );

你确定这个词是Upbeat Electronic music 而不是UpbeatElectronic music?请尝试以下方法以确保:

str_replace( trim( $parent->name ), \' \' . $link, $intro_text );

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请