Valid XHTML     Valid CSS2    

Listing du fichier mygoogle.php avec syntaxhighlighter


        <?php
        include("../std.php") ;
        debutPage("interrogation de Google via php")  ;
        
        h1("Interrogation de Google via php") ;
        
        pvide() ;
        
        blockquote() ;
        debutSection() ;
        
        ##############################################################
        
        function urlgoog($expac) {
          # url pour demander à google de rechercher $expac
          return("http://www.google.fr/search?q=".urlencode($expac)."&amp;start=0") ;
        } ; # fin focntion urlgoog
        
        ##############################################################
        
        function nbhits($expac) {
        
           # on construit l'URL
        
           $url  = urlgoog("$expac") ;
           $fp   = fopen($url,"r") ;
        
           # il faut peut etre passer par le proxy
        
           if (!$fp) { # il faut peut etre passer par le proxy
             $fp = fsockopen("iproxy.info-ua","3128") ;
             echo "<p>Via le proxy...</p>\n" ;
             fputs($fp,"GET $url HTTP/1.0\n\n");
           } ; # fin de si
        
           # on lit la page renvoyée par Google comme un fichier
           # le texte recherché ressemble à : sur un total d'environ <b>11</b> pour <b>tuteur perl</b>.
        
           $nbhi = 0 ;
           while (!feof($fp)) {
                  $lig = fgets($fp, 4096) ;
        # print $lig ;  # à détailler en cours
        # flush()    ;  # en meme temps que <pre> </pre> et $lig = str_replace("<","&lt;",$lig) ;
                  $chav = "Environ" ;
                  $lhav = strlen($chav) ;
                  $idpd = strpos($lig,$chav) ;
                  if ($idpd>0) {
                     $extr = substr($lig,$idpd+$lhav,50) ;
        echo "\n\n<!-- VOICI LE TEXTE ORIGINAL : $extr -->\n\n" ;
                     $extr = strip_tags($extr) ;
                     $chap = "r" ; # le "r" de résultats
                     $idpf = strpos($extr,$chap) ;
                     $nbhi = $extr ;
                     if ($idpf>0) {
                        $nbhi = substr($extr,0,$idpf) ;
                     } ; # fin si
                     # il peut arriver qu'on ait beaucoup de résultats, comme 22 900
                     # stocké comme 22&nbsp;900
                     # et il faut l'écrire "à la française"
                  } ; # fin si sur idpd
           } ; # fin de tant que
           fclose($fp) ;
        
           # un peu de ménage
        
           $nbhi = preg_replace("/\s+/","",$nbhi) ;
           $nbhi = preg_replace("/&nbsp;/","",$nbhi) ;
        
           return $nbhi ;
        } ; # fin de fonction nbhits
        
        ##############################################################
        
        function nbhitsER($expac) {
        
        ##############################################################
        
        # comme nbhits() mais avec une expression régulière
        
           # on construit l'URL
        
           $url  = urlgoog("$expac") ;
           $fp   = fopen($url,"r") ;
        
           # il faut peut etre passer par le proxy
        
           if (!$fp) { # il faut peut etre passer par le proxy
             $fp = fsockopen("iproxy.info-ua","3128") ;
             echo "<p>Via le proxy...</p>\n" ;
             fputs($fp,"GET $url HTTP/1.0\n\n");
           } ; # fin de si
        
           # on lit la page renvoyée par Google comme un fichier
           # le texte recherché ressemble à : sur un total d'environ <b>11</b> pour <b>tuteur perl</b>.
        
           $nbhi = 0 ;
           while ((!feof($fp)) and ($nbhi==0)) {
                  $lig   = fgets($fp, 4096) ;
                  $model = "/Environ (.*?)r/" ;
                  preg_match($model,$lig,$reponse) ;
                  if ((isset($reponse[1]) and strlen($reponse[1])>0)) {
                    $nbhi = $reponse[1] ;
                  } ; # fin si
           } ; # fin de tant que
           fclose($fp) ;
        
           # un peu de ménage
        
           $nbhi = preg_replace("/\s+/","",$nbhi) ;
           $nbhi = preg_replace("/&nbsp;/","",$nbhi) ;
        
           return $nbhi ;
        } ; # fin de fonction nbhitsER
        
        ##############################################################
        
        $eac =  "tuteur html" ;
        $ura = urlgoog("$eac") ;
        
        p("texte") ;
        echo " Pour l'expression ".s_span($eac,"gvert")." Google trouve " ;
        echo b( nbhits($eac) ) ;
        echo " pages.\n" ;
        finp() ;
        
        p("texte") ;
        echo " Vous pouvez le vérifier en cliquant " ;
        echo href($ura,s_span("ici","grouge"))."." ;
        finp() ;
        
        p("texte") ;
        echo " Pour l'expression ".s_span($eac,"gvert")." Google trouve " ;
        echo b(nbhitsER($eac)) ;
        echo " pages avec une expression régulière.\n" ;
        finp() ;
        
        pvide() ;
        pvide() ;
        
        p() ;
        echo href("montresource.php?nomfic=mygoogle.php","Code source de la page.","orange_stim nou") ;
        finp() ;
        
        ##############################################################
        
        finSection() ;
        finblockquote() ;
        finPage() ;
        ?>
        

La coloration syntaxique est réalisée par : SyntaxHighlighter.

Si vous préférez, vous pouvez utiliser celle de geshi ou même celle construite autour de la fonction highlight_file.

 

 

retour gH    Retour à la page principale de   (gH)