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
= 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("<","&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
= 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("/&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     
?>

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)