1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
|
<?php
if(!empty($_GET['q'])) $search=$_GET['q'];
else $search='';
if(!empty($_GET['page'])) $page=$_GET['page'];
else $page='1';
header('Content-type: text/html; charset=ISO-8859-15');
define("LF",chr(10));
/* #### Options #### */
$results='50'; // Wieviel einträge Pro Seite
$region='de'; // Auswelchem Land die daten geholt werden soll (als erstes)
$appid='ENTFERNT!!!'; // appid -> prüft ob es der ID erlaubt ist es auszulesen
echo '<form method="get" action="'.basename($_SERVER['PHP_SELF']).'">
<input type="text" name="q" value="'.htmlconverter($_GET['q']).'"/>
<input type="submit" value="suche">
</form>';
// errechnet welches die momentane Seite ist...
$start = $page * $results - $results;
if(empty($start) || $start=='0') $start='1';
/* #### Options End #### */
/**
* htmlconverter
*
* @param string $string A Normal Text String
* @return string Exports a ISO-8859-15 HTML Text (eg. ö ä ü = ö ä ü)
*/
function htmlconverter($string) {
return htmlentities($string,ENT_QUOTES,'ISO-8859-15');
}
/**
* utf8_to_normal
*
* @param string $insert UTF-8 Text
* @return string Export a String in Normaltext (from UTF8 to ISO-8859-1 [without htmlentities])
*/
function utf8_to_normal ($insert) {
if(!function_exists('iconv')) return html_entity_decode(utf8_decode($insert));
else return html_entity_decode(iconv("UTF-8", "ISO-8859-1", $insert));
}
/**
* phpfile
*
* @return string Export The PHP File name
*/
function phpfile () {
return basename($_SERVER['PHP_SELF']);
}
if(!empty($search)) {
$request='http://api.search.yahoo.com/WebSearchService/V1/webSearch?appid='.urlencode($appid).'&query='.urlencode($search).'&output=php®ion='.urlencode($region).'&results='.urlencode(intval($results)).'&start='.intval($start).'';
$response = (@file_get_contents($request));
if ($response === false) {
die('Request failed');
}
$phpobj = unserialize($response);
//echo '<pre>'; ////////// Nur ein Test
//print_r ($phpobj); ///// wie der Array
//echo '</pre>'; ///////// Aussieht
$yahoophp=$phpobj['ResultSet'];
echo '<div>Erstes Ergebnis: '.$yahoophp['firstResultPosition'].'</div>';
if(intval($yahoophp['totalResultsAvailable'])=='0') $yahoo['sites']='0';
else $yahoo['sites']=ceil($yahoophp['totalResultsAvailable']/$results);
echo '<div>Es wurden insgesammt '.intval($yahoophp['totalResultsAvailable']).' Einträge gefunden, dass sind '.intval($yahoo['sites']).' Seiten.</div>'.chr(10);
echo '<ul>'.chr(10);
// gibt die Einträge aus
foreach($phpobj['ResultSet']['Result'] as $export) {
$title=$export['Title'];
$url=$export['Url'];
$desc=substr($export['Summary'],0,50).'...';
printf('<li><b><a href="%s">%s</a></b><br /><i>%s</i></li>'.chr(10),utf8_to_normal($url),utf8_to_normal($title),utf8_to_normal($desc));
}
echo '</ul>'.chr(10);
////////
echo "<div><b>Seite:</b></div>";
$prev=array();
/// hier werden die Seiten ausgeben...
for($a=0; $a < $yahoo['sites']; $a++) {
$b = $a + 1;
array_push($prev,$b);
if($page==$b) {
echo " <b>$b</b> ";
} else {
if($a=='1' && $page!='1') echo '« Erste Seite | ';
echo ' <a href="?page='.intval($b).'&q='.urlencode($search).'">'.intval($b).'</a> ';
}
}
}
?> |