Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
863 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Capturer avec une REGEX

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Capturer avec une REGEX

n°2023111
shaoling
Posté le 15-09-2010 à 16:32:12  profilanswer
 

Bonjour,
 
Mon problème est très simple.
Je souhaiterai récupérer une information à partir du code source d'une page Web grâce à une REGEX.
Imaginons le code de la page en question :

Code :
  1. <html>
  2.     <head>
  3.         <title>blabla</title>
  4.     </head>
  5.     <body>
  6.         ... blabla ...
  7.         ... blabla ...
  8.         <span>Valeur (73)</span>
  9.         ... blablabla ...
  10.     </body>
  11. </html>


 
Pour récupérer ce code source, je le fais avec un file_get_contents(url) que je stocke dans une variable $content.
Jusque là pas de soucis.
 
Je souhaiterai pouvoir récupérer la valeur qui se trouve entre parenthèse : 73.
 
Arrive donc ma regex :
 

Code :
  1. $content = file_get_contents("http://www.siteduzero.com" );
  2. $content = preg_replace('#.*Valeur \(([0-9]+)\).*#', '$1', $content);
  3. echo $content;


 
Le soucis est donc que je ne récupére pas seulement la valeur 73, je récupère aussi tout le code source de la page sans 'Valeur ( )' .
 
Comment faire pour ne récupérer que le nombre entre parenthèse ? et pas tout le code source.
 
Je vous remercie par avance.

mood
Publicité
Posté le 15-09-2010 à 16:32:12  profilanswer
 

n°2023118
roondar
Posté le 15-09-2010 à 17:15:51  profilanswer
 

preg_replace('/.*Valeur \(([0-9]\+)\).*/', '$1', $content);


Message édité par roondar le 15-09-2010 à 17:20:48
n°2023121
shaoling
Posté le 15-09-2010 à 17:23:10  profilanswer
 

Là ça ne fait rien du tout, pourquoi échapper le signe Plus ?


---------------
>> Culture-Info : La culture informatique pour tous (projet scolaire) <<
n°2023124
shaoling
Posté le 15-09-2010 à 17:36:06  profilanswer
 

C'est bon j'ai trouvé d'où venait l'erreur, il fallait supprimer les sauts de ligne avant la recherche avec preg_replace en faisant ceci :
$content = str_replace("\n", '', $content);
 
Merci quand même !


---------------
>> Culture-Info : La culture informatique pour tous (projet scolaire) <<
n°2023147
stealth35
Posté le 15-09-2010 à 19:19:24  profilanswer
 

pour parser du DOM c'est avec DOMDocument


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Capturer avec une REGEX

 

Sujets relatifs
Recherche du bon pattern regex avec mysqljava Regex : Je recherche le moyen d'extraire des lettres
"Capturer" des données dynamiques d'une page web ?Regex balise body
Problèmes de RegexREGEX : parser des logs
Regex :: séparation de chiffres par un signe ( xx.xxx.xxx.xxx )Regex match last index
Problème de regex[RegEx]Comment capturer tout en excluant certaines chaînes?
Plus de sujets relatifs à : Capturer avec une REGEX


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR