Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/gogoweb/55w.jp/public_html/techblog/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524
Facebook にシェア
[`evernote` not found]
LINEで送る

TwitterAPIで、特定のhashで検索したデータのなかで、さらに特定のワードをつかっているかで振り分ける作業をしました。
まず#hogehogeでハッシュタグのデータを収集。
それのなかで【ほげほげ】というワードが含まれているのを抽出するために

	if(preg_match("/ほげほげ/",$value)){
		振り分け処理;
	}

で、うまく抽出できない。あれ?
調べると日本語でマッチさせるために語尾にuを付ける必要があるらしい。(UTF8前提ですが)
というわけで

	if(preg_match("/ほげほげ/u",$value)){
		振り分け処理;
	}

・・・うまくいかない???
あれーと思いここでしばらくつまりました。
苦し紛れに出力されたソースをみるとなんじゃこりゃ。対象の数字が。
TwitterAPIから渡された数字は数値文字参照で書かれてたのでした。表示は通常どおり表示されてたので全然気がつかなかった。
というわけで一文追加。

	$value = html_entity_decode($value,ENT_QUOTES,"UTF-8");
	if(preg_match("/ほげほげ/",$value)){
		振り分け処理;
	}

無事マッチさせることができました!!