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

  FORUM HardWare.fr
  Programmation
  PHP

  expreg, chti problème...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

expreg, chti problème...

n°359494
Hermes le ​Messager
Breton Quiétiste
Posté le 12-04-2003 à 13:36:37  profilanswer
 

Dans le cadre de la génération d'une feuille de style, je suis confronté à un chti problème :
 
en effet :
 

Code :
  1. $chaine = "color : black;"
  2. $operation = eregi("color : (.*);",$chaine,$retour);
  3. echo = $retour[1];


 
me donne bien "black".
 
par contre :
 

Code :
  1. $chaine = "font-family : Arial, Helvetica, sans-serif;"
  2. $operation = eregi("font-family : (.*),",$chaine,$retour);
  3. echo = $retour[1];


 
me donne "Arial, Helvetica" au lieu de "Arial"
 
je pense que le problème vient de la virgule... Une idée ?  :ange:


Message édité par Hermes le Messager le 12-04-2003 à 13:37:22
mood
Publicité
Posté le 12-04-2003 à 13:36:37  profilanswer
 

n°359511
VisualC++
J'va y penser ...
Posté le 12-04-2003 à 14:54:19  profilanswer
 

Un truc du style ca, qui marche pour toute les proprietes (enfin si je m a pas plante)

Code :
  1. if (eregi("([a-z-]+)( : )", $chaine, $retour)) {
  2. echo "Property > $retour[1]<br>";
  3. $chaine = eregi_replace("([a-z-]+)( : )", "", $chaine);
  4. $retour = preg_split("/,/", $chaine);
  5. for ($i=0; $i<count($retour); $i++) {
  6.  $retour[$i] = preg_replace("[,|;]", "", $retour[$i]);
  7.  echo "Atributes" . $i . " > " . $retour[$i] . "<br>";
  8. }
  9. }

n°359514
Hermes le ​Messager
Breton Quiétiste
Posté le 12-04-2003 à 15:05:32  profilanswer
 

VisualC++ a écrit :

Un truc du style ca, qui marche pour toute les proprietes (enfin si je m a pas plante)

Code :
  1. if (eregi("([a-z-]+)( : )", $chaine, $retour)) {
  2. echo "Property > $retour[1]<br>";
  3. $chaine = eregi_replace("([a-z-]+)( : )", "", $chaine);
  4. $retour = preg_split("/,/", $chaine);
  5. for ($i=0; $i<count($retour); $i++) {
  6.  $retour[$i] = preg_replace("[,|;]", "", $retour[$i]);
  7.  echo "Atributes" . $i . " > " . $retour[$i] . "<br>";
  8. }
  9. }




 
Merci bcp, mais c'est justement ce que je cherche à éviter ;) . ma question est seulement :  
 
Peut-on délimiter une sous-chaine telle que : commence par "truc" et se termine par "," ?  [:totozzz]

n°359517
VisualC++
J'va y penser ...
Posté le 12-04-2003 à 15:14:34  profilanswer
 

Ben c t pas clair la question :o
 

Code :
  1. "([a-z _-]+)([,|;]{0,1})"


devrait prendre un chaine de caractere (incluant l espace, _ et -) suivit ou non d'une virgule ou pt virgule (pour le dernier property)


Message édité par VisualC++ le 12-04-2003 à 15:14:54
n°359521
Hermes le ​Messager
Breton Quiétiste
Posté le 12-04-2003 à 15:49:00  profilanswer
 

Ben, désolé, mais non, marche toujours pas :
 

Code :
  1. $op = eregi("([a-z _-]+)([,|;]{0,1})","font-family : Arial, Helvetica, sans-serif;",$ret);
  2. echo $ret[1];


 
donne "font-family".  
 
Moi c'est arrial que je veux...

n°359550
VisualC++
J'va y penser ...
Posté le 12-04-2003 à 17:51:02  profilanswer
 

Euh j ai donne pour trouve vis a vis de ton premier post
 

Code :
  1. eregi("font-family : ([a-z _-]+)([,|;]{0,1})",$chaine,$retour);

n°359573
Hermes le ​Messager
Breton Quiétiste
Posté le 12-04-2003 à 18:57:09  profilanswer
 

Rappel de mon premier post :
 

Citation :

par contre :
 
 
Code :
 
   
 

Code :
  1. $chaine = "font-family : Arial, Helvetica, sans-serif;" 
  2.  
  3.   $operation = eregi("font-family : (.*),",$chaine,$retour);
  4.   echo = $retour[1];


 
me donne "Arial, Helvetica" au lieu de "Arial"
 
je pense que le problème vient de la virgule... Une idée ?  


 
C'est bien le même problème dont il s'agit depuis le début.  
 
Bon, c'est pas très grave non plus, je rajouterai un traitement avec un split pour traiter mes polices, mais j'aurais bien aimé optimiser tout ça au maximum...  ;)  
 
Merci quand même pour ton aide. ;)


Message édité par Hermes le Messager le 12-04-2003 à 19:34:15
n°359750
VisualC++
J'va y penser ...
Posté le 13-04-2003 à 11:39:56  profilanswer
 

Sans etre desagreable c dimanche :D tu fais expres de pas tester ou tu lis comme cela t enchante quand mm ....
 
Avec ton code du debut et la ligne que je t ai donnee

Code :
  1. $chaine = "font-family : Arial, Helvetica, sans-serif;";
  2. eregi("font-family : ([a-z _-]+)([,|;]{0,1})",$chaine, $retour); 
  3. echo $retour[1];


 
Ca donne Arial  :ouch:

n°359777
Suri
Darksurious
Posté le 13-04-2003 à 14:29:44  profilanswer
 

Citation :

By default, a quantified subpattern is "greedy", that is, it will match as many times as possible (given a particular starting location) while still allowing the rest of the pattern to match. If you want it to match the minimum number of times possible, follow the quantifier with a "?". Note that the meanings don't change, just the "greediness":  
 
   *?    Match 0 or more times  
   +?    Match 1 or more times  
   ??    Match 0 or 1 time  
   {n}?   Match exactly n times  
   {n,}?  Match at least n times  
   {n,m}? Match at least n but not more than m times  


 
 ;)  


---------------
Suri.morkitu.org : Balades au coeur de la ville...
n°359795
Hermes le ​Messager
Breton Quiétiste
Posté le 13-04-2003 à 15:51:47  profilanswer
 

VisualC++ a écrit :

Sans etre desagreable c dimanche :D tu fais expres de pas tester ou tu lis comme cela t enchante quand mm ....
 
Avec ton code du debut et la ligne que je t ai donnee

Code :
  1. $chaine = "font-family : Arial, Helvetica, sans-serif;";
  2. eregi("font-family : ([a-z _-]+)([,|;]{0,1})",$chaine, $retour); 
  3. echo $retour[1];


 
Ca donne Arial  :ouch:  


 
oopppppsss, effectivement, ça fonctionne, merci bcp, je ne sais pas ce que j'ai foutu hier, je devais être fatigué.
 
Un énorme merci ;)


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

  expreg, chti problème...

 

Sujets relatifs
problème cadrePetit probleme avec JDom
[PHP] Probleme pour supprimer une variable de sessionRequêtes MX sur un DNS... problème
Tomcat - IntelliJ - problème de compilation de JSP[ECLIPSE] Problème d'import
PHP petit probleme avec ce langageProblème de fenêtres modale et non-modale sur VC++
Probleme fichier + MFCproblème de sondage dans phpbb
Plus de sujets relatifs à : expreg, chti problème...


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