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)."&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 = 0 ;
00040 while (!feof($fp)) {
00041 $lig = fgets($fp, 4096) ;
00042 # print $lig ; # à détailler en cours
00043 # flush() ; # en meme temps que <pre> </pre> et $lig = str_replace("<","<",$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 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("/ /","",$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 = 0 ;
00097 while ((!feof($fp)) and ($nbhi==0)) {
00098 $lig = fgets($fp, 4096) ;
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("/ /","",$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 à la page principale de (gH)