Valid XHTML     Valid CSS2    

Listing du fichier mygoogle.php

 

00001     <?php
00002     include(
"../std.php") ;
00003     debutPage
("interrogation de Google via php")  ;
00004     
00005     h1
("Interrogation de Google via php") ;
00006     
00007     pvide
() ;
00008     
00009     blockquote
() ;
00010     debutSection
() ;
00011     
00012     ##############################################################
00013     
00014     function 
urlgoog($expac) {
00015       # url pour demander à google de rechercher $expac
00016       return(
"http://www.google.fr/search?q=".urlencode($expac)."&amp;start=0") ;
00017     } ; # fin focntion urlgoog
00018     
00019     ##############################################################
00020     
00021     function 
nbhits($expac) {
00022     
00023        # on construit l'URL
00024     
00025        $url  
urlgoog("$expac") ;
00026        $fp   
fopen($url,"r") ;
00027     
00028        # il faut peut etre passer par le proxy
00029     
00030        if (!
$fp) { # il faut peut etre passer par le proxy
00031          $fp 
fsockopen("iproxy.info-ua","3128") ;
00032          echo "<p>Via le proxy...</p>\n" 
;
00033          fputs
($fp,"GET $url HTTP/1.0\n\n");
00034        } ; # fin de si
00035     
00036        # on lit la page renvoyée par Google comme un fichier
00037        # le texte recherché ressemble à : sur un total d'environ <b>11</b> pour <b>tuteur perl</b>.
00038     
00039        $nbhi 
;
00040        while (!feof
($fp)) {
00041               $lig 
fgets($fp4096) ;
00042     # print $lig ;  # à détailler en cours
00043     # flush()    ;  # en meme temps que <pre> </pre> et $lig = str_replace("<","&lt;",$lig) ;
00044               $chav 
"Environ" ;
00045               $lhav 
strlen($chav) ;
00046               $idpd 
strpos($lig,$chav) ;
00047               if ($idpd
>0) {
00048                  $extr 
substr($lig,$idpd+$lhav,50) ;
00049     echo "\n\n<!-- VOICI LE TEXTE ORIGINAL : 
$extr -->\n\n" ;
00050                  $extr 
strip_tags($extr) ;
00051                  $chap 
"r" # le "r" de résultats
00052                  $idpf 
strpos($extr,$chap) ;
00053                  $nbhi 
$extr ;
00054                  if ($idpf
>0) {
00055                     $nbhi 
substr($extr,0,$idpf) ;
00056                  } ; # fin si
00057                  # il peut arriver qu'on ait beaucoup de résultats, comme 22 900
00058                  # stocké comme 22&nbsp;900
00059                  # et il faut l'écrire "à la française"
00060               } ; 
# fin si sur idpd
00061        } ; 
# fin de tant que
00062        fclose
($fp) ;
00063     
00064        # un peu de ménage
00065     
00066        $nbhi 
preg_replace("/\s+/","",$nbhi) ;
00067        $nbhi 
preg_replace("/&nbsp;/","",$nbhi) ;
00068     
00069        return $nbhi 
;
00070     } ; # fin de fonction nbhits
00071     
00072     ##############################################################
00073     
00074     function 
nbhitsER($expac) {
00075     
00076     ##############################################################
00077     
00078     # comme nbhits() mais avec une expression régulière
00079     
00080        # on construit l'URL
00081     
00082        $url  
urlgoog("$expac") ;
00083        $fp   
fopen($url,"r") ;
00084     
00085        # il faut peut etre passer par le proxy
00086     
00087        if (!
$fp) { # il faut peut etre passer par le proxy
00088          $fp 
fsockopen("iproxy.info-ua","3128") ;
00089          echo "<p>Via le proxy...</p>\n" 
;
00090          fputs
($fp,"GET $url HTTP/1.0\n\n");
00091        } ; # fin de si
00092     
00093        # on lit la page renvoyée par Google comme un fichier
00094        # le texte recherché ressemble à : sur un total d'environ <b>11</b> pour <b>tuteur perl</b>.
00095     
00096        $nbhi 
;
00097        while ((!feof
($fp)) and ($nbhi==0)) {
00098               $lig   
fgets($fp4096) ;
00099               $model 
"/Environ (.*?)r/" ;
00100               preg_match
($model,$lig,$reponse) ;
00101               if ((isset($reponse
[1]) and strlen($reponse[1])>0)) {
00102                 $nbhi 
$reponse[1] ;
00103               } ; # fin si
00104        } ; 
# fin de tant que
00105        fclose
($fp) ;
00106     
00107        # un peu de ménage
00108     
00109        $nbhi 
preg_replace("/\s+/","",$nbhi) ;
00110        $nbhi 
preg_replace("/&nbsp;/","",$nbhi) ;
00111     
00112        return $nbhi 
;
00113     } ; # fin de fonction nbhitsER
00114     
00115     ##############################################################
00116     
00117     $eac 
=  "tuteur html" ;
00118     $ura 
urlgoog("$eac") ;
00119     
00120     p
("texte") ;
00121     echo " Pour l'expression "
.s_span($eac,"gvert")." Google trouve " ;
00122     echo b
nbhits($eac) ) ;
00123     echo " pages.\n" 
;
00124     finp
() ;
00125     
00126     p
("texte") ;
00127     echo " Vous pouvez le vérifier en cliquant " 
;
00128     echo href
($ura,s_span("ici","grouge"))."." ;
00129     finp
() ;
00130     
00131     p
("texte") ;
00132     echo " Pour l'expression "
.s_span($eac,"gvert")." Google trouve " ;
00133     echo b
(nbhitsER($eac)) ;
00134     echo " pages avec une expression régulière.\n" 
;
00135     finp
() ;
00136     
00137     pvide
() ;
00138     pvide
() ;
00139     
00140     p
() ;
00141     echo href
("montresource.php?nomfic=mygoogle.php","Code source de la page.","orange_stim nou") ;
00142     finp
() ;
00143     
00144     ##############################################################
00145     
00146     finSection
() ;
00147     finblockquote
() ;
00148     finPage
() ;
00149     ?>

La coloration syntaxique est réalisée par un enrobage de la function php nommée highlight_file

mais si vous préférez, vous pouvez utiliser celle de SyntaxHighlighter ou même celle de geshi.

Pour ne pas voir les numéros de ligne, ajoutez &nl=non à la suite du nom du fichier.

 

 

retour gH    Retour à la page principale de   (gH)