0

hastags をリンクに変換する基本的な正規表現関数がありますが、問題は、実際の単語をリンクに変換するだけで、# をそのままにしておくことです。# をリンクの一部にしたい...タグ内。

それが生み出すもの:

#<a href="">hastag</a>

私が欲しいもの:

<a href="">#hastag</a>

私のphpコード:

public function link_hashtags($text)
{
    $text = preg_replace('/(^|\s)#(\w*[a-zA-Z_]+\w*)/', '\1#<a href="http://search.twitter.com/search?q=%23\2">\2</a>', $text);
    return $text;

}

ハッシュタグをURLに渡したくないので、単語を正しく渡しますか?何か提案はありますか?

ありがとうございました!

4

2 に答える 2

0

#あなたがしたようにタグの中にシンボルを入れて<a>ください、しかしまたタグの前のシンボルを取り出してください...

于 2012-09-18T20:50:03.987 に答える
0

先頭にハッシュ タグが付加された単語に一致させたい場合は、次の正規表現を使用できます。

/#([^\s]+)/

<a href="http://search.twitter.com/search?q=%23\1">#\1</a>

アンカー内で \1 の後方参照を使用します。

于 2012-09-18T20:51:01.957 に答える