2012-02-27 11 views
2

まず、Stackoverflowで多くの投稿を見てきましたが、私は決定的な方法であるように見えません。誰かはいつも正規表現に欠陥があるようだ。Twitterで可能なハッシュタグのリストを一致させる--JavascriptまたはjQuery

私はすでに自分のつぶやきを取得していますが、明らかにそれぞれにハッシュタグをいくつでも含めることができます。

私が見つけたいの可能なハッシュタグの配列がある場合 - [「#ENGLAND」、「#IRELAND」、「#ウェールズ」]などのつぶやきかどうかを確認するための信頼性の高い方法である何

をこれらのハッシュタグが含まれています。私はAPIをもう一度呼びたくはありません。自分の既存のつぶやきだけをチェックしたいのですが、ボタンをクリックしてその場でフィルタリングを変更し、年齢制限を回避したい場合はレート制限を避けたいと思います。

EDIT:

例:ここで私は、すべてのつぶやきを検索し、ちょうどタグの私の配列の一つ以上が含まれているつぶやきを表示したい#ENGLANDが含まれているつぶやきと#someothertag

が、あります私はすでにつぶやきをキャッシュしています。既存の結果をフィルタリングするだけのタグを含む呼び出しをしたくないのです!だけにして指定する必要がある特定のハッシュタグを(hashifyとなぜ

+1

TwitterのAPIは、ハッシュタグのためのフィールドを含むタグを解析することを避けるために役立つはず、なぜあなたが最初にデータをフェッチする際にそのキャッシュではありませんか? – Quentin

+0

TwitterのAPIは、応答のエンティティのツイートのハッシュタグを返しませんか? – menacingly

+0

異なるタグ名の4つのボタンがあると、apiを再度呼び出さずに結果をフィルタリングするにはどうすればよいですか? – Neil

答えて

0

にコンテンツを設定するときは、のために、要素上のエンティティからハッシュタグを格納することができtextを使用することができますインスタンス

<div class='tweet' data-hashtags='england ireland'>some_tweet</div> 

そして、誰かがあなたのボタンをクリックしたときに、このようにフィルタリング:

$('div.tweet').hide(); 
$('div.tweet[data-hashtags~="ireland"]').show(); 

それは明らかに大幅に簡素化されますが、一般的なアプローチは、あなた自身が

+0

のようなデータ属性を使うのと同じように、私はあなたがここで何を意味するのかを正確に理解していますが、some_tweetに実際に "england ireland"が含まれていることを知るにはどうすればいいですか?私はHTTPデバッガを使ってツイートの結果を確認しましたが、実際のツイートテキストとは別にハッシュタグがある場所は見えません! – Neil

+0

@neil apiはあなたが使っていますか? – menacingly

+0

JS apiを使って1つのアカウントからつぶやきだけを返す:http://api.twitter.com/1/statuses/user_timeline.xml?screen_name=the_account_here – Neil

0
// match a #, followed by either "question" or "idea" 
var myregexp = /#(england|ireland|wales)\b/i; 
var match = myregexp.exec(subject); 
if (match != null) { 
    result = match[1]; // will contain "england","ireland", or "wales" 
} else { 
    result = ""; 
} 

あなたが手 上のハッシュタグの名前がわからない場合は

var myregexp = /#(\w+)/; // Use this instead 
0

var myregexp = /#(england|ireland|wales)\b/i; 

を置き換えます維持する)任意の hashtagをハッシュ化できますか?

私は通常、このようなものを使用します。

var hashregex = /#([a-z0-9_\-]+)/gi, 
    text = text.replace(hashregex, function (value) { 
     return '<a target="_blank" href="http://twitter.com/#!/search?q=' + value.replace('#', '%23') + '">' + value + '</a>'; 
    }); 

次に、あなたはちょうどあなたが処理ツイート

関連する問題