URL、Twitterのユーザー名、ハッシュタグ、16進数の色の4つを検出する複数の高度な表現を開発しています。たとえば、4 つの異なるハッシュタグ、URL、または色など、同じものを配置するとうまく機能します。しかし、たとえばハッシュタグと URL などの別のものを入れると、ハッシュタグは消えます。ここで、RegularExp を確認できます。
var RegularExp = {
twitter: /(^|[,\s])@(\w{1,15})/g,
color: /(^|[,\s])#((?:[a-fA-F0-9]){3}|(?:[a-fA-F0-9]){6})/g,
hashtag: /(^|[,\s])#(\w{1,15})/g,
url: /(^|\s)(((http(s)?:\/\/|ftp(s)?:\/\/)?([a-zA-Z0-9_-]+\.)?(?:[a-zA-Z0-9]+)(?:\.[a-z]{2,4}){1,2})(\/.*)*)/g
},
Replacer = {
twitter: "$1<a rel='nofollow' target='_blank' href='http://twitter.com/$2'>@$2</a>",
color: "$1<span class='hex-color' style='background-color:#$2 !important'>#$2</span>",
hashtag: "$1<a rel='nofollow' target='_blank' href='http://twitter.com/search?q=%23$2&src=hash'>#$2</a>",
url: "$1<a rel='nofollow' target='_blank' href='$2'>$2</a>"
};
ここで試してみることができます: http://jsfiddle.net/esa_u7/KrTMW/ 最初のテキストエリアに「#fff, #000, #00f」とスラッシュなしで書き込んで (動作していることがわかります)、Twitter のユーザー名を追加します。 @例のように。なぜすべてのハッシュタグが消えるのですか?