0

我正在尝试围绕多个单词小部件标题的第一个单词。我已经使用了这里的答案:

修改了 Wordpress 功能以在标题的第一个单词周围放置一个 Span?

并将其调整为:

function add_label_to_post_title( $title = '' ) {
    $ARR_title = explode(" ", $title);

    if(sizeof($ARR_title) > 1 ) {
        $first_word = "<span>".$ARR_title['0']."</span> ";
        unset($ARR_title['0']);
        return $first_word. implode(" ", $ARR_title);
    } else {
        return $title;
    }
}

add_filter( 'widget_title', 'add_label_to_post_title' );

它适用于两个单词标题。但是 3 个或更多单词标题不受影响。

我尝试修改代码:

preg_replace('/(?<=\>)\b\w*\b|^\w*\b/', '<span>$0</span>', $string);

从这里:

用 preg_replace 将 <b>-tag 包裹在字符串的第一个单词周围

并具有相同的结果,在两个词标题上效果很好,但三个或更多不受影响。有谁知道为什么?

4

1 回答 1

2

请在下面使用数组查找代码片段

function add_label_to_post_title( $title = '' ) 
{

    $ARR_title = explode(" ", $title);

    if(sizeof($ARR_title) > 1 )
    {
        $ARR_title[0] = "<span>".$ARR_title[0]."</span>";
        return implode(" ", $ARR_title);
    }
    else
    {
        return $title;
    }

}
echo add_label_to_post_title ("hi there this is test code");
于 2013-04-11T05:56:06.910 回答