Page 1 sur 1
petite regexp qui prend la tete
Posté : 16 janv. 2009, 12:54
par rebaj
Bonjour,
Je souhaite virer tous les "font-family: unFont;" d'un code source html.
J'écris donc cette regex, qui ne marche pas, ou est ce que je me trompe??
Code : Tout sélectionner
$pattern = "(font\-family:(.+);$)";
$string=ereg_replace($pattern,"",$string);
echo $string;
merci pour vos lumières!
Posté : 16 janv. 2009, 12:58
par jojolapine
Euh... le
$ en trop?
Sinon pour faire des tests rapides:
http://lumadis.be 
Posté : 16 janv. 2009, 13:26
par Invité
ok je viens de tester, et je me rend compte que cette regexp:
me renvoie bien à partir de "font-family: maFont" sauf qu'ensuite il s'arrête au dernier ; rencontré sur la ligne, et non au premier! ce qui fait que souvent je me retrouve a virer
aulieu de
Code : Tout sélectionner
font-family: "Arial","sans-serif";[code]
il y a un moyen de spécifier que je veux qu'il s'arrête au premier trouvé?
merci pour le testeur, super utile!
Posté : 16 janv. 2009, 14:12
par jojolapine
il faut utiliser le
? derrière le
+ afin de rendre l'opérateur "non-gourmand", ou alors utilsier l'option "U", je te laisse regarder le cours sur le site pour plus de détails

Posté : 16 janv. 2009, 15:57
par Invité
Merci cela fait bien son effet!!!
Allez j'ouvre le débat : pourquoi diable une regexp serait-elle plus gourmande qu'on le lui demande?
++
Posté : 16 janv. 2009, 16:37
par Ryle
Posté : 16 janv. 2009, 17:51
par AB
Et puis de toutes façons quand il y a plusieurs possibilités, on doit bien définir un comportement par défaut
