Twitter APIにアクセスして、ツイートをキーワード検索するPHPスクリプトです。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ツイートの検索</title>
</head>
<body>
<?php
// 検索キーワードなどを取得
if (isset($_POST["q"]) and !empty($_POST["q"])) {
$q = htmlspecialchars($_POST["q"], ENT_QUOTES);
} elseif (isset($_GET["q"]) and !empty($_GET["q"])) {
$q = htmlspecialchars($_GET["q"], ENT_QUOTES);
if (isset($_GET["since_id"])) {
$param .= "&since_id="
. htmlspecialchars($_GET["since_id"], ENT_QUOTES);
}
if (isset($_GET["page"])) {
$param .= "&page="
. htmlspecialchars($_GET["page"], ENT_QUOTES);
}
if (isset($_GET["max_id"])) {
$param .= "&max_id="
. htmlspecialchars($_GET["max_id"], ENT_QUOTES);
}
} else {
$skip = true;
}
?>
<p>ツイートの検索</p>
<!-- 検索キーワード -->
<form method="POST" action="<?php echo $_SERVER["SCRIPT_NAME"]; ?>">
<input type="text" value="<?php echo $q; ?>" name="q">
<input type="submit" value="検索" name="sub1">
</form>
<?php
// 検索の実行
if (!$skip) {
// URLとパラメータ
$url = "http://search.twitter.com/search.json";
$param .= "&lang=ja&q=" . rawurlencode($q);
// 検索結果を取得
$c = curl_init("{$url}?{$param}");
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($c);
curl_close($c);
$json = json_decode($result);
// 新たなツイートの表示
echo "<a href="{$_SERVER['SCRIPT_NAME']}{$json->refresh_url}">
新たなツイートを表示</a><hr />";
// 結果を一覧表示
foreach ($json->results as $res) {
$text = $res->text;
$dt = date("Y/m/d H:i:s", strtotime($res->created_at));
echo "{$text}({$dt})<hr />";
}
// 次のページを表示
if (!isset($_GET["since_id"])) {
echo "<a href="{$_SERVER['SCRIPT_NAME']}{$json->next_page}">
次のページ</a>";
}
}
?>
</body>
</html>
○実行結果

