0

コンマで区切られた各単語または単語を既存のURLに自動追加しようとしています。

私は言うことができる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 に答える