Eregi_replace()

Résolu/Fermé
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 - 27 avril 2009 à 14:42
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 - 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 :)

7 réponses

scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
27 avril 2009 à 15:28
Toujours le problème :P
1
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
27 avril 2009 à 14:50
Salut,

Essai
 $tag="{" . $tag . "}";
$this->page = eregi_replace($tag, $data, $this->page);
--
106485010510997108
0
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
27 avril 2009 à 14:55
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
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
27 avril 2009 à 14:57
Re,

Peut être qu'il sera bien de voir le contenu de $tag et $data
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
27 avril 2009 à 15:21
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.
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
27 avril 2009 à 15:23
Re,

Essaie avec des apostrophes
$this->page = eregi_replace('{' . $tag . '}', $data, $this->page);
--
106485010510997108
0
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
27 avril 2009 à 15:30
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
0