ラベル Javascript の投稿を表示しています。 すべての投稿を表示
ラベル Javascript の投稿を表示しています。 すべての投稿を表示

2012年6月1日金曜日

【正規表現、javascript】Twitterの発言にリンクタグをつける


正規表現には方言があるらしい。
jsでTwitterの文言を正規表現処理したけど、結構むずかしかった。
とりあえず、"/g"ってすごい!
"/g"を書かないと、Tweet内のリンクを1つしか処理できない。
"/g"を書くと全部処理してくれる。
"/g"は偉大なのであった。

urlをリンクタグ処理
tweet = tweet.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&~\?\/.=]+/g, function(url) {
return url.link(url);
});
            
リプライをリンクタグ処理
tweet = tweet.replace(/@[a-zA-z_]*/g, function(reply) {
var no_mark_rep = reply.replace(/@/, "");
return reply.link("https://twitter.com/"+no_mark_rep);
});
            
ハッシュをリンクタグ処理
tweet = tweet.replace(/[#]+[A-Za-z0-9-_-ヶ亜-]+/g, function(hash) {
var no_mark_hash = hash.replace(/[#]/, "");
return hash.link("https://twitter.com/%23"+no_mark_hash);
});