<?php
// サイトのURLを指定
$url = 'ma-bank.com';
// 文字コードを指定
$charset = 'UTF-8';
$google_api = 'Google AJAX Search API';
$search = new Search();
$ary = array('Web', $url);
for($i=0; $i<2; $i++) {
$add = (($i===1 && (!$_REQUEST['webselect'] || $_REQUEST['webselect']==11)) || (!$i && $_REQUEST['webselect']==10)) ? array(' checked="checked"', '<strong>', '</strong>') : array();
$radio .= '
<input type="radio" name="webselect" id="site'.$i.'"'.$add[0].' value="1'.$i.'" />
<label for="site'.$i.'">'.$add[1].$ary[$i].$add[2].'</label>';
}
echo '<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset='.$charset.'" />
<title>'.$google_api.' Sample</title>
</head>
<body>
<h1><a href="./search.php">'.$google_api.' Sample</a></h1>
<div id="main">
<form method="get" action="./search.php">
<input type="text" name="searchbody" value="'.$search->h($_REQUEST['searchbody']).'" />
<input type="submit" value="検索" /><br />'.$radio.
$search->SearchR().'
</div>
</form>
<hr />
<a href="./search_source.php">ソースを見る</a>
<address>
(C)<a href="http://ma-bank.com/">'.$search->h('M&Aバンク').'</a>
</address>
</body>
</html>'
;
class Search {
function SearchR() {
global $url, $google_api;
$qb = $_REQUEST['searchbody'];
if(!$qb) {
return;
}
if($_REQUEST['webselect']==11) {
$qb .= ' site:'.$url;
}
$query = urlencode($qb);
$url = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&rsz=large&q='.$query;
$text = @file_get_contents($url);
if($text) {
$json = json_decode($text, true);
}
$ary = $json['responseData']['results'];
$num = count($ary);
if($num) {
$t = '<p><strong>'.$this->h($qb).'</strong> の検索結果のうち '.intval($json['responseData']['cursor']['estimatedResultCount']).' 件中 1 - '.$num.' 件目</p>';
for($i=0; $i<$num; $i++) {
$t .= '<dt><a href="'.$this->h($ary[$i]['unescapedUrl']).'">'.$ary[$i]['title']."</a></dt>
<dd>".$ary[$i]['content'].'</dd>';
}
$t .= '<dt> <a href="http://www.google.co.jp/search?q='.$query.'">Googleの検索結果をもっと見る</a></dt>';
}else {
$t = '<dt>見つかりませんでした。</dt>';
}
return '
<h2>検索結果</h2>
<dl>'.$t.'</dl>
<p>Powerd by <a href="http://code.google.com/intl/ja/apis/ajaxsearch/">'.$google_api.'</a></p>'
;
}
// XSS
function h($str='') {
global $charset;
if(!is_numeric($str)) {
$str = htmlspecialchars($str, ENT_QUOTES, $charset);
}
return $str;
}
}
?>
(C)M&Aバンク