0

我正在尝试将用逗号分隔的每个单词或多个单词自动添加到现有的 url 中。

我有网址可以说http://stackoverflow.com/search?q=HERE IS THAT TEXT

我有这个功能:

function movie_cast( $atts, $content = null ) {
    return '<div class="movie_cast">Cast: '.$content.'</div>';
}

add_shortcode( 'movie_cast', 'movie_cast' );

我正在使用它:[movie_cast]Actor 1, Actor 2[/movie_cast]

输出只是文本:Actor 1, Actor 2

我怎样才能得到这样的输出:<a href="http://stackoverflow.com/search?q=Actor 1">Actor 1</a>, <a href="http://stackoverflow.com/search?q=Actor 2">Actor 2</a>

4

1 回答 1

1

你是这个意思吗?此代码将被称为movie_cast("Actor 1, Actor 2")or[movie_cast]Actor 1, Actor 2[/movie_cast]并将返回您要求的输出。

Explode 在逗号上拆分字符串,条件在每个链接之后放置一个逗号,除了最后一个,其余的只是字符串连接。

function movie_cast( $atts ) {
    $url = "http://stackoverflow.com/search?q=";
    $str = "";
    foreach (explode(", ",$atts) as $value)
    {
        if ($str != "") $str .= ", ";
        $str .= "<a href=\"" . $url . $value . "\">" . $value . "</a>";
    }

    return $str;
}
于 2013-11-05T03:44:33.710 回答