[PHP] J'aimerais qu'on m'explique ce code

phpaddict -  
 phpaddict -
Bonjour,

J'ai 2 questions sur un même code.

J'aimerais qu'on m'explique ce code et pour quelles raisons il affiche ce qu'il affiche :

<?php

$url="https://www.google.fr/?gws_rd=ssl";

if (!($contents = file_get_contents($url)))
{
echo "On ne peut ouvrir l'URL";
exit;
}

$pattern = '([a-z]+)';

if (eregi($pattern, $contents, $quote))
{
echo $quote[1];
}

?>

1) Donc ce code affiche "html".
Si on remplace [a-z]+ par [0-9]+, cela affiche "8859".

Si quelqu'un pouvait m'expliquer :L

2) Puis également pourquoi lorsqu'on met 0 à la place de 1 dans :

echo $quote[1];

cela fait pareil.

A quoi correspond le chiffre dans ce cas ?
A voir également:

1 réponse

crabs Messages postés 909 Statut Membre 507
 
Salut,
1) regardes la documentation de eregi() : https://www.php.net/eregi
2) l'expression régulière est en réalité double : présence des paranthèses
donc quotes[0] contient l'expression globale
et quotes[1] celle contenu entre les paranthèses
Essaies avec le code suivant, cela sera peut-être plus parlant :
<?php                                                                           
header( "Content-type: text/plain" ) ;
$url="https://www.google.fr/?gws_rd=ssl";                                                    

if (!($contents = file_get_contents($url)))                                     
    {                                                                           
    echo "On ne peut ouvrir l'URL";                                             
    exit;                                                                       
    }                                                                           

$pattern = '<([a-z]+)>';

if (eregi($pattern, $contents, $quote))                                         
    {                                                                           
    print_r( $quote ) ;
    }                                                                           
?>

Sinon 8859 est la première chaine de caratères constituée uniquement de
chiffres dans la page d'accueil de google.

A+, crabs
0
phpaddict
 
Merci beaucoup de ta réponse,

Je vais regarder ça dans la journée :D
Je te tiens au courant de mes avancées ;p
0
phpaddict
 
Oui merci pour la documentation, mais eregi() sert plus souvent pour des mails qu'autres choses, du coup sur la doc, ya rien sur mon code.

Merci pour ton code, tu m'as montré des trucs que j'ignorais.
Sinon pour le fait que cela affiche html, cela voudrait donc dire, que cela affiche ce qu'il y a dans le code source ?

Parce qu'il n'y pas de mot "html" sur la page google.
Pareil pour le nombre "8859".

Là par contre tu me dis que c'est la première chaîne de caractères constituées uniquements de chiffres.
Mais sur la page Google, où se trouve cette chaîne ?
Elle ne figure si sur la page, ni dans le code source.
0
Jean-François Pillou Messages postés 19261 Date d'inscription   Statut Webmaster Dernière intervention   63 277 > phpaddict
 
Parce qu'il n'y pas de mot "html" sur la page google.
Pareil pour le nombre "8859". 


Regarde le code source de la page ;-)
0
phpaddict > Jean-François Pillou Messages postés 19261 Date d'inscription   Statut Webmaster Dernière intervention  
 
Oui mais avec le code que j'ai soumis au début, cela affiche "html".
0
Jean-François Pillou Messages postés 19261 Date d'inscription   Statut Webmaster Dernière intervention   63 277 > phpaddict
 
Oui, car la première suite de lettres que l'expression rencontre est :

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Google</title>
0