Logo classes.scriptsphp.org PHP

go to nav bar

PHP5 Source codes

Recherche sur le web

Ce formulaire vous permet d'effectuer des recherches sur le web (ou sur ce site) en utilisant les moteurs de recherche Yahoo ou Google.
Ce «meta-moteur» est basé sur les API :

Rechercher uniquement sur ce site

Source PHP de la classe Google

<?php
class GoogleWebSearch {
    
    private 
$WsdlUri 'http://api.google.com/GoogleSearch.wsdl';
    private 
$LicenceKey '';
    static 
$Instance false;
    
    private function 
__construct() {
        
$this->LicenceKey GOOGLE_LICENCE_KEY;
    }
    
    static function 
GetInstance() {
        if(empty(
self::$Instance)) {
            
self::$Instance = new GoogleWebSearch();
        }
        return 
self::$Instance;
    }
    
    public function 
search($query $start=0$results=10$similar_ok=false$adult_ok=false $lang='fr') {
        
// ----------------------------------
        // paramètres non pris en compte :
        
$restrict '';
        
// ----------------------------------
        
        // Limitation due a l API
        
if($results 10) {
            
$results 10;
        }
             
        
$params = array(
        
'key' => $this->LicenceKey,
        
'q' => utf8_encode($query),
        
'start' => (int)$start,
        
'maxResults' => (int)$results,
        
'filter' => (boolean)$similar_ok,
        
'restrict' => $restrict,
        
'safeSearch' => (boolean)$adult_ok,
        
'lr' => $lang,
        
'ie' => '',
        
'oe' => ''
        
);
        if(! @ 
$Client = new SoapClient($this->WsdlUri)) {
            throw new 
Exception('SOAP error''....');
            return 
false;
        }
         if(! @ 
$O =  $Client->__call("DoGoogleSearch"$params)) {
            throw new 
Exception('SOAP error''....');
            return 
false;
        }
        
        return 
$this->toArray($O$query);
    }
    
    private function 
toArray($r$search) {
        
$ret['Search'] = $search;
        
$ret['TotalResults'] = $r->estimatedTotalResultsCount;
        
$ret['Start'] = $r->startIndex;
        
$i 0;
        foreach(
$r->resultElements as $key => $val) {
            
$ret['Results'][$i = ++$i+1] = array(
            
'Title' => strip_tags(utf8_decode($val->title)),
            
'URL' => $val->URL,
            
'Summary' => strip_tags(utf8_decode($val->snippet))
            );
        }
        
        return 
$ret;
    }

}
?>

Merci de ne pas suivre ce lien emails.

0.1006s | «»
PHP powered