2

jQuery に次のような文字列があるとします。

    result.text = "I tweeted something #one #two #three";

ハッシュタグで始まるすべての単語を "tweet-hash" というスパン クラスでラップする方法はありますか?

4

2 に答える 2

4

おそらく、正規表現を使用して記号と単語の組み合わせを見つけ、それを置き換えて、スタイル タグと CSS クラスでラップすることをお勧めします。残念ながら、CSS にはそのような値のセレクターがありません。

$("#phrase").html($("#phrase").html().replace(/#([^ ]+)/, "<span class='hashtag'>$1</span>")
于 2012-12-27T03:27:47.087 に答える
0

上記の例では、最初に見つかったハッシュタグのみが置き換えられることに注意してください。g正規表現にグローバルを追加すると、式に一致するすべてのインスタンスがターゲットになります。

$("#phrase").html($("#phrase").html().replace(/#([^ ]+)/g, "<span class='hashtag'>$1</span>");

jsFiddle で例を挙げたので、違いがわかります: http://jsfiddle.net/c26r9/

于 2013-11-06T13:23:36.813 に答える