Google API mit PHP verwenden

gacblu

Grünschnabel
Hallo!

Wie schon die Überschrift sagt, geht es um ein Problem mit der Google API.
Ich im Grunde das ganze schon zum Laufen gebracht. Also Google sucht intern auf meiner Page nach Stichwörtern. Es bilden sich aber trotzdem noch Probleme:

Wenn ich ein Wort mit Umlauten suche, erscheint im Suchergebnis nichts. Also kein "?" oder so, es gibt keine Ergebnisse.. (somit hat es scheinbar auch nichts mit Encoding zu tun). "Ausrüstung" ist bei mir jedoch gut vertreten..
Außerdem möchte ich nicht nur 10 Einträge anzeigen lassen, sondern alle gefundenen und die dann mit einer Blätterfunktion fortleiten. Ich dachte eigentlich, dass ich das mit "maxResults" regeln kann, aber wenn ich da mehr als zehn eingebe, zeigt er auch nichts an.

Das ist meine search.php (darauf wird das Suchergebnis geleitet):
PHP:
require_once("nusoap.php");

$key = "Mein Google-Key";
$start = 0;

$query = $_POST['q'];


$soapclient = new soapclient("http://api.google.com/search/beta2"); // [1]

$parameters = array( 
    "key"         => $key,
    "q"           => "site:gac-portal.de $query",
    "start"       => $start,
    "maxResults"  => 10,
    "filter"      => false,
    "restrict"    => "",
    "safeSearch"  => false,
    "lr"          => "lang_de", 
    "ie"          => "UTF-8",
    "oe"          => "UTF-8"
  );
	$result = $soapclient->call("doGoogleSearch", $parameters, "urn:GoogleSearch");
$searchtime = $result["searchTime"];
$begin = $start + 1;
$end = $start + $parameters["maxResults"];
$total = $result["estimatedTotalResultsCount"];


for ($i = 1; $i <= $parameters["maxResults"]; $i++)
{
$element = $result["resultElements"][$i];
    $url = $element["URL"];
  	$title = $element["title"];
  	$snippet = $element["snippet"]; // [2]
	
	$search = array('ö','ü','ä');
	$replace = array('ö','ü','ä');
	$title = str_replace($search, $replace, $title);
	$snippet = str_replace($search, $replace, $snippet);
	  	
//dublicate content:
  if ( (!$known[$url] and !$known[$title]) ) {
   $known[$title] = true;
   $known[$url]   = true;
   
   
   if ($title != "\n" && $url != "\n") { 
  
    echo utf8_decode(str_replace("{url}", $url,
         str_replace("{snippet}",
          str_replace("<br>", "", $snippet),
           str_replace("{title}", $title, "")
          )
          )
        );
   
   }
  }

  	echo "<a href=$url><b>$title</a></b><br/>$snippet<br/><a href=$url>$url</a><br/><br/>";
  }

So wird "q" übergeben:
HTML:
<FORM method="POST" action="newindex.php?section=search">
<INPUT TYPE="text" name="q" size="10" maxlength="255" value="">
<INPUT type="submit" VALUE="suche">
</FORM>

Und das ist die nusoap.php:
http://www.ayom.com/faq/files/nusoap.php.txt



Es wäre schön, wenn sich damit jemand auskennt oder ein funktionstüchtiges Script für API hat..

Danke für eure Hilfe.
 
Zurück