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 :

function preg_replace() ereg_replace() [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Points : 5 347
    Points
    5 347
    Billets dans le blog
    5
    Par défaut function preg_replace() ereg_replace()
    bonjour,
    J'ai un soucis concernant ces deux fonctions !
    Tout d'abord lors de l'exécution de mon script j'ai le message d'erreur suivant :
    Warning: preg_replace() [function.preg-replace]: Compilation failed: unmatched parentheses at offset
    D'après ce que j'ai lu sur le net, j'ai cru comprendre que cela provenait des mises à jour des version de PHP.
    Je suis perdu et je n'arrive pas à comprendre la syntaxe exact, car peut importe celle que j'utilise j'ai toujours le même problème.

    Le but de mon code est de remplacer les caractères spéciaux dans un nom de fichier.

    Voici mon code actuel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_replace('[^a-zA-Z0-9,._\+\()\-]', '_', $aFileName);
    Merci par avance pour votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as une parenthese qui n'est pas echappée donc il se plaint de trouver un parenthese tout seule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_replace('[^a-zA-Z0-9,._\+\(\)\-]', '_', $aFileName);

  3. #3
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 887
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 887
    Points : 16 320
    Points
    16 320
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Tu as une parenthese qui n'est pas echappée donc il se plaint de trouver un parenthese tout seule
    Il me semble que la parenthèse fermante n'a pas besoin d'être échappée si l'ouvrante l'est.

    En tout cas, il manque aussi et surtout les délimiteurs.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Etrangement l'absence de délimiteurs ne fait pas couiner le parseur.
    Par contre effectivement avec des délimiteurs il ne proteste plus sur le cas de la parenthese :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_replace('#[^a-zA-Z0-9,._\+\()\-]#', '_', $aFileName);

  5. #5
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 887
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 887
    Points : 16 320
    Points
    16 320
    Par défaut
    Mais sans les délimiteurs la fonction ne fait pas ce qu'elle est censée faire.

  6. #6
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Points : 5 347
    Points
    5 347
    Billets dans le blog
    5
    Par défaut
    Merci beaucoup pour votre aide !
    Cela fonctionne parfaitement !

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

Discussions similaires

  1. preg_replace Vs ereg_replace
    Par Le gris dans le forum Langage
    Réponses: 1
    Dernier message: 22/06/2010, 20h17
  2. [RegEx] ereg_replace -> Preg_replace
    Par LEIôPAR dans le forum Langage
    Réponses: 0
    Dernier message: 06/05/2010, 12h45
  3. [RegEx] Remplacer ereg_replace par preg_replace
    Par manuaparis dans le forum Langage
    Réponses: 2
    Dernier message: 26/12/2009, 17h38
  4. Function ereg_replace() is deprecated
    Par archer dans le forum Langage
    Réponses: 5
    Dernier message: 21/12/2009, 13h55
  5. [RegEx] ereg_replace vers une function
    Par kriekbellevue dans le forum Langage
    Réponses: 3
    Dernier message: 23/02/2009, 20h38

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