Eregi_replace()

Résolu
scriptiz Messages postés 1494 Statut Membre -  
scriptiz Messages postés 1494 Statut Membre -
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 :)
Configuration: Linux
Firefox 3.0.9

7 réponses

  1. scriptiz Messages postés 1494 Statut Membre 425
     
    Toujours le problème :P
    1
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Essai
     $tag="{" . $tag . "}";
    $this->page = eregi_replace($tag, $data, $this->page);
    --
    106485010510997108
    0
  3. scriptiz Messages postés 1494 Statut Membre 425
     
    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
  4. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    Peut être qu'il sera bien de voir le contenu de $tag et $data
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. scriptiz Messages postés 1494 Statut Membre 425
     
    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
  7. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    Essaie avec des apostrophes
    $this->page = eregi_replace('{' . $tag . '}', $data, $this->page);
    --
    106485010510997108
    0
  8. scriptiz Messages postés 1494 Statut Membre 425
     
    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