Menu

Eregi_replace() [Résolu/Fermé]

Messages postés
1420
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 mai 2013
- - Dernière réponse : scriptiz
Messages postés
1420
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 mai 2013
- 27 avril 2009 à 15:30
Bonjour,

J'ai un petit soucis avec ma méthode eregi_replace() :
$this->page = eregi_replace("{" . $tag . "}", $data, $this->page);


En local elle marche super (pour un système de template tout simple).

Par contre chez OVH, j'ai cette erreur autant de fois que je l'utilise (la méthode) :
Warning: eregi_replace() [function.eregi-replace]: Invalid preceding regular expression in /homez.109/aircontr/www/lib/template.php on line 33


J'ai tout mes hébergeurs chez OVH donc j'ai un peu de mal à tester sur d'autres environnement de production, excepté sur un serveur d'université et là ça remarche comme en local.

Si vous avez une idée je vous remercie d'avance :)
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
1420
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 mai 2013
477
1
Merci
Toujours le problème :P

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 40499 internautes nous ont dit merci ce mois-ci

Messages postés
21510
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur
Dernière intervention
8 octobre 2012
4836
0
Merci
Salut,

Essai
 $tag="{" . $tag . "}";
$this->page = eregi_replace($tag, $data, $this->page);
--
106485010510997108
Messages postés
1420
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 mai 2013
477
0
Merci
Même erreur mais une ligne plus loin :P

Warning: eregi_replace() [function.eregi-replace]: Invalid preceding regular expression in /homez.109/aircontr/www/lib/template.php on line 34
Messages postés
21510
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur
Dernière intervention
8 octobre 2012
4836
0
Merci
Re,

Peut être qu'il sera bien de voir le contenu de $tag et $data
Messages postés
1420
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 mai 2013
477
0
Merci
Voici le retour, j'affiche désormais $tag et $data avant de faire le eregi_replace() :

tag : {SITE_TITLE}
data : Dupont Air Control SA
Warning: eregi_replace() [function.eregi-replace]: Invalid preceding regular expression in /homez.109/aircontr/www/lib/template.php on line 36

tag : {STYLESHEET}
data : style1.css
Warning: eregi_replace() [function.eregi-replace]: Invalid preceding regular expression in /homez.109/aircontr/www/lib/template.php on line 36

tag : {LANGUAGE}
data : window.onload =
Warning: eregi_replace() [function.eregi-replace]: Invalid preceding regular expression in /homez.109/aircontr/www/lib/template.php on line 36

tag : {LANG}
data : en
Warning: eregi_replace() [function.eregi-replace]: Invalid preceding regular expression in /homez.109/aircontr/www/lib/template.php on line 36

tag : {LANG_IMG}
data : en.png
Warning: eregi_replace() [function.eregi-replace]: Invalid preceding regular expression in /homez.109/aircontr/www/lib/template.php on line 36


Je n'ai pas tout mis car les autres sont pareilles. Mais tout semble bon, $tag contient bien ce qu'il faut remplacer, et $data ce par quoi il faut le remplacer :$

C'est vraiment bizarre que ça marche parfaitement en local et juste pas sur mon hébergement.
Messages postés
21510
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur
Dernière intervention
8 octobre 2012
4836
0
Merci
Re,

Essaie avec des apostrophes
$this->page = eregi_replace('{' . $tag . '}', $data, $this->page);
--
106485010510997108
Messages postés
1420
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 mai 2013
477
0
Merci
Waouh j'ai trouvé, j'avais pourtant déjà testé mais là ça marche maintenant en local et sur l'hébergeur :)

Voici donc la petite solution :

$tag = '\{'.$tag.'\}';
$this->page = eregi_replace($tag, $data, $this->page);


Il fallait donc rajouter des antislashes devant { et devant } car ils peuvent être interpréter sinon, mais ce n'est pas le cas tout le temps apparament ^^

Merci beaucoup pour l'aide, je n'aurais pas continuer à chercher si tu n'aurais pas continuer de proposer des pistes de solution :P