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

  FORUM HardWare.fr
  Programmation
  PHP

  expressions regex ???

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

expressions regex ???

n°1097735
dedefou
Allias Fiddelcastor
Posté le 26-05-2005 à 11:10:30  profilanswer
 

bonjour,
voila je ne comprends pas tout j'ai fait ca:
 

Code :
  1. $titre = eregi("rang(.*))", $page, $regs);
  2.  
  3.  
  4.       echo '<p>Rang : '. $regs[1]. '</p>';


 
ce qui me donne ca:

Rang : : 51 (1145 pts


 
or je voudrais ca :

Rang : : 51


 
alors je fais ca:

Code :
  1. $titre = eregi("rang(.*)(", $page, $regs); //changement de la parenthese
  2.  
  3.  
  4.       echo '<p>Rang : '. $regs[1]. '</p>';


 
mais ca me donne ca:


Warning: eregi(): REG_EPAREN in d:\wwwroot\test\test.php on line 14


 
pourquoi??? dsl je debute en regex
 
ou alors comment faire pour autoriser juste les chiffres je sais que c'est ca:[:digit:] mais où le mettre?
 
merci d'avance

mood
Publicité
Posté le 26-05-2005 à 11:10:30  profilanswer
 

n°1097756
benamoubea​ch
tivuplai
Posté le 26-05-2005 à 11:25:53  profilanswer
 

t'as une parentheses en trop apres le (.*)

n°1097760
afbilou
pouet your life
Posté le 26-05-2005 à 11:26:25  profilanswer
 

Faudrait nous decrire les données que tu veux traiter et ce que tu veux extraire comme info de ces données pour k'on t'aide T_T

n°1097761
benamoubea​ch
tivuplai
Posté le 26-05-2005 à 11:26:56  profilanswer
 

ma réponse etait super pertinente :D
 
 
edit : afbilou a raison, on ne sait pas quelle tete a la chaine $page


Message édité par benamoubeach le 26-05-2005 à 11:27:36
n°1097764
soju
One shot !
Posté le 26-05-2005 à 11:27:33  profilanswer
 

les parenthèses sont des méta-caractères donc il faut les echapper, et utilise preg c'est plus efficace.
un exemple :

Code :
  1. if (preg_match("#rang: ([0-9]*)#", $page, $match))

n°1097766
dedefou
Allias Fiddelcastor
Posté le 26-05-2005 à 11:28:33  profilanswer
 

oki voila le site:http://www.clan-france.com/index.p [...] 9&cid=1873
 
et je voudrais recuperer le rang, sans le nombre de points
 
voici mon code:

Code :
  1. $fp = fopen("http://www.clan-france.com/index.php?pid=19&cid=1873", "r" ); // lecture de la page
  2.  
  3.       while (!feof($fp)) {
  4.  
  5.       $page .= fgets($fp, 4096); e
  6.  
  7.       }
  8.  
  9.       $titre = eregi("rang(.*)( ", $page, $regs);
  10.  
  11.  
  12.       echo '<p>Rang : '. $regs[1]. '</p>';
  13.  
  14.  
  15.  
  16.       fclose($fp);


si je mets pas la penrenthese apres (.*) il me sort trop d'info je veux juste le rang
 
merci

n°1097771
benamoubea​ch
tivuplai
Posté le 26-05-2005 à 11:30:49  profilanswer
 

if(eregi('Rang ([0-9]+) (.*)',$page,$regs))
{
 print_r($regs);
}

n°1097778
dedefou
Allias Fiddelcastor
Posté le 26-05-2005 à 11:35:18  profilanswer
 

benamoubeach a écrit :

if(eregi('Rang ([0-9]+) (.*)',$page,$regs))
{
 print_r($regs);
}


 
euh ca me sort aucun resultat normal?

n°1097779
benamoubea​ch
tivuplai
Posté le 26-05-2005 à 11:35:29  profilanswer
 

en fait ton truc il est pas possible pcke regarde le code source, ya des span de partout donc faut faire un strip tags

n°1097780
benamoubea​ch
tivuplai
Posté le 26-05-2005 à 11:35:36  profilanswer
 

oui c normal :D

mood
Publicité
Posté le 26-05-2005 à 11:35:36  profilanswer
 

n°1097784
soju
One shot !
Posté le 26-05-2005 à 11:37:05  profilanswer
 


et il manque ':' dans ta regex

n°1097786
benamoubea​ch
tivuplai
Posté le 26-05-2005 à 11:38:04  profilanswer
 

Code :
  1. $fp = fopen("http://www.clan-france.com/index.php?pid=19&cid=1873", "r" ); // lecture de la page
  2. $page = '';
  3. while (!feof($fp)) {
  4. $page .= fgets($fp, 4096);
  5. }
  6. if(eregi('Rang : ([0-9]+) (.*)',strip_tags($page),$regs))
  7. {
  8. $rang = $regs[1];
  9. }
  10. fclose($fp);


 
edit : ouep soju g vu ca apres :) pis tfacon jsuis loin d'etre fort en regex, j'ai juste compris a peu pres le principe :)


Message édité par benamoubeach le 26-05-2005 à 11:38:47
n°1097794
dedefou
Allias Fiddelcastor
Posté le 26-05-2005 à 11:40:51  profilanswer
 

yes merci, mais pourais avoir des explications? :D
 
a quoi sert le + dans ([0-9]+)????
 
et els espaces sont obligatoire?


Message édité par dedefou le 26-05-2005 à 11:41:29
n°1097795
benamoubea​ch
tivuplai
Posté le 26-05-2005 à 11:41:46  profilanswer
 

ca veut dire : au moins un chiffre

n°1097802
dedefou
Allias Fiddelcastor
Posté le 26-05-2005 à 11:44:55  profilanswer
 

merci bcp


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

  expressions regex ???

 

Sujets relatifs
tutoriaux regex?tutoriaux regex???
Aide Expressions Régulières (Urgent)Faire du pattern matching et des expressions reguliers sous MySQL?
Question sur une RegEx.regex
demande aide pour regex pas facile[java | regex]récuperer un sous groupe
RegEx: autorisé les accents[PHP - REGEX] J'ai du mal avec les expressions regulières...
Plus de sujets relatifs à : expressions regex ???


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