Page 1 sur 1

Bête expression régulière... suis fatigué je cale! :'(

Posté : 26 nov. 2007, 15:16
par Bidibule
Salut à tous!

Voilà je cherche depuis 20min pourquoi ma petit expression régulière de rien du tout ne fonctionne pas..

En fait elle fonctionne sous RegEx Coach mais pas quand je fais mon preg_replace!

expression :

Code : Tout sélectionner

$ exp = "`<head>(.*)</head>(.*)<body>(.*)</body>`si";
En gros je veux ajouter des bouts de code dans le header et body suivant le cas.

en remplacement j'aurais donc

Code : Tout sélectionner

$replacement = "<head>$1 blablabla</head><body>bliblibli $2</body>";
Mais il ne me trouve pas mon expression j'ai essayé avec preg_match , or avec RegEx coach ça marche....

HELP ! (je suis fatigué je l'avoue) :?

Merci!

Posté : 26 nov. 2007, 15:19
par Hubert Roksor
Tu utilises des doubles " dans ton $remplacement. Remplace-les par de simples '

Mon conseil : lorsque tu cales, fait un var_dump() de chaque variable présente dans le contexte.

Posté : 26 nov. 2007, 16:00
par titerm
Pourquoi $1 et $2 en remplacement, en regex, les patterns qui ont été capturés sont nommés \1 \2 etc...
NB: tu captures 3 patterns et tu en utilises 2.

Edit:
Autant pour moi, en php, il est possible d'utiliser aussi les $, donc la remarque qui t'a été faite au dessus est correcte, utilise des ' au lieu des "

Posté : 27 nov. 2007, 10:59
par Invité
Tu utilises des doubles " dans ton $remplacement. Remplace-les par de simples '

Mon conseil : lorsque tu cales, fait un var_dump() de chaque variable présente dans le contexte.
roooooh merci Roksor.... c'était évident et je voyais pas.... un gros merci! (je peux aller me coucher maintenant!)

Posté : 27 nov. 2007, 14:31
par Truc
Modération :
Bidibule, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.