download this file: search.php view text/plain: search.php file encoding: EUC-KR [goback]
<?php
## san2(at)linuxchannel.net
##
## 2003.04.27 bug fixed
## 2002.05.09 new build
##
## using the 'UW CSE search the CSE web'
## UW CSE : Uinversity of Washington Computer Science & Engineering
## google like search engin !!!
## more information & get source : http://linksearch.sourceforge.net
## get search form
##
## argument : array
##
function get_csesearchform($csevars)
{
//$formsize = sform(30,1);
$formsize = 30;
$kwd = htmlspecialchars(urldecode($csevars['kwd']));
return <<< _EOF_
<FORM METHOD=get ACTION=${csevars['action']}>
<INPUT TYPE=text NAME=kwd SIZE=$formsize VALUE="$kwd">
<INPUT TYPE=submit VALUE=' °Ë»ö '>
</FORM>
_EOF_;
}
## arguments :
## $csevars array
## $csevars['sitesearch'] string, replace your DOMAIN or HTTP_HOST
## $csevars['action'] string, your REQUEST_URI or URL action(ex: /search.php or /search/)
## $csevars['kwd'] string, keyword from GET form
##
function get_csegooglelist($csevars)
{
global $_GET; // for PHP/4.0.x
$skip = ($start = $_GET['start']) ? "&start=$start&sa=N" : '';
$kwd = urlencode($csevars['kwd']);
$sitesearch = $csevars['sitesearch'];
$fpath = "/u/UWCSE?q=$kwd&hl=ko&domains=$sitesearch&sitesearch=$sitesearch";
if($fp = @fsockopen('www.google.com', 80, &$errno, &$errstr, 10))
{
fputs($fp, "GET $fpath$skip HTTP/1.0\r\n\r\n");
while(!feof($fp)) $list .= fgets($fp,1024);
fclose($fp);
## remove html head and etc
##
$list = eregi_replace('^.+</script>','',$list);
$list = eregi_replace('^.+</center><table',"\n\n<table",$list);
## remove html footer and etc
##
$list = eregi_replace("<center>.+$","\n\n",$list);
$list = ereg_replace("<!--- HTML Footer START --->.+$",'',$list); // do not remove this line
$list = eregi_replace('.+</HTML>.+','',$list); // do not remove this line
## string replace to my site format
##
$from = array(
'/<a class=fl([^>]+)>([^>]+)>/i',
'/cs\.washington\.edu/i',
'/td bgcolor=#3366cc/i',
'/&lr=/i',
'/san2@/i',
';/u/UWCSE\?q=[^>]+&(start|filter)=;i',
);
$to = array(
'',
$sitesearch,
'td bgcolor=#8899CC',
'',
'san2(at)',
$csevars['action']."?kwd=$kwd&\\1="
);
$list = preg_replace($from,$to,$list);
}
return $list;
}
## print searched lists
##
## argument : void
##
## return : long string
##
function print_searched()
{
$csevars['sitesearch'] = str_replace('www.','',strtolower($_SERVER['HTTP_HOST']));
$csevars['action'] = preg_replace('/\?.*/i','',$_SERVER['REQUEST_URI']);
$csevars['kwd'] = stripslashes(trim($_GET['kwd']));
$searchform = get_csesearchform($csevars);
echo "\n<B>Search site target '".$csevars['sitesearch']."'(in UW CSE)</B>\n$searchform\n\n";
if($_GET['kwd'])
{
echo '<HR>'."\n";
echo get_csegooglelist($csevars);
echo '<HR>'."\n";
echo "\n<CENTER>\n$searchform</CENTER>\n\n";
}
}
print_searched();
?>