IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

eregi_replace() : Invalid preceding regular expression


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 13
    Par défaut eregi_replace() : Invalid preceding regular expression
    Bonjour,

    J'ai un petit soucis avec ma méthode eregi_replace() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->page = eregi_replace("{" . $tag . "}", $data, $this->page);
    En local elle marche comme il faut et je n'ai pas d'erreur, elle me sert 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) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 313
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 313
    Billets dans le blog
    17
    Par défaut
    *Débugage*
    Que donne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    echo "tag=($tag)<br>";
    echo "data=($data)<br>";
    echo "this->page=($this->page)<br>";
    $this->page = eregi_replace("{" . $tag . "}", $data, $this->page);
    D'après le msg d'erreur il y a sûrement un souci avec $tag.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 13
    Par défaut
    Merci pour votre réponse,

    Ca retournait quelque chose comme :

    {ADRESSE}
    Rue Machin chose 92
    Erreur PHP (comme plus haut)

    Mais j'ai trouvé la solution, il faut que je mette des antislashes ('\') devant les accolades '{' et '}' dans mon expression régulière pour que ça marche sur mon hébergeur tout comme sur mon local

    Ce qui donne quelque chose comme ceci au final :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $tag = "\{".$tag."\}";
    $this->page = eregi_replace($tag, $data, $this->page);
    Merci pour l'aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Regular expression qui ne fonctionne pas
    Par Remedy dans le forum Langage
    Réponses: 2
    Dernier message: 11/05/2007, 16h52
  2. [Regular expression] Possessive quantifiers
    Par Pragmateek dans le forum Langage
    Réponses: 1
    Dernier message: 24/06/2006, 12h55
  3. [debutant] Regular Expression
    Par absolut75 dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 13/06/2006, 01h43
  4. [RegEx] Empty regular expression
    Par Khrysby dans le forum Langage
    Réponses: 2
    Dernier message: 24/04/2006, 22h25
  5. [Regular Expressions] Numérotation romaine
    Par ramalho dans le forum Valider
    Réponses: 3
    Dernier message: 24/02/2004, 17h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo