こんなんにつまづくなんて、ほんとまだまだ修行が足りませんな・・・。
GETしたjsonにリンク情報などおまけ情報を含ませるためには、'include_entities'=>1を指定します。
コード
$searchUrl = 'http://search.twitter.com/search.json';
$searchParams = http_build_query(array(
'q'=>'検索ワード',
'locale'=>'ja',
'page'=>1,
'result_type'=>'recent',
'rpp'=>100,
'include_entities'=>1 // これがないとデータ取れない
));
$searchResults = json_decode(file_get_contents($searchUrl.'?'.$searchParams));
if (isset($searchResults)) {
$results = $searchResults->results;
for ($i = 0; $i < count($results); $i++) {
echo ($results[$i]->entities->urls[0]->url);
echo ($results[$i]->entities->urls[0]->expanded_url);
echo ($results[$i]->entities->urls[0]->display_url);
echo ($results[$i]->entities->urls[0]->indices[0]).($results[$i]->entities->urls[0]->indices[1]);
}
}
urls[0]をつけないと、一気にNullが返ってくるようになって、ああでもないこうでもないと2時間くらい悩むハメになります。
こんな簡単なことは、経験者のみなさまは書いてくれません!
困ったもんだ!