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 :

Preg_replace to preg_replace_callback


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 61
    Par défaut Preg_replace to preg_replace_callback
    Bonjour

    Aprés la mise a jour de php de mon hebergeur j'ai du rencontrer beaucoup de probléme avec mon siteweb parmi ces probléme, utliser preg replace callback a la place de preg replace
    Aprés plusieurs tentative j'ai pas pu regler le problème, comment serait l'écriture correcte de ces codes??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tmp = preg_replace_callback("#(\s|^)((?:[\w\.~-]*?)@(?:.*?))((?:\.)?(\s|$|\[|\())#i","$1<a href=\"mailto:$2\">$2</a>$3",$tmp);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tmp = preg_replace_callback("#(\s|^)(\w{3,8}://.*?)((?:\.)?(\s|$|\[|\())#is","$1<a href=\"$2\" target=\"blank\">$2</a>$3",$tmp);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tmp = preg_replace_callback("#(\s|^)(www\..*?)((?:\.)?(\s|$|\[|\())#is","$1<a href=\"http://$2\" target=\"blank\">$2</a>$3",$tmp);
    Merci d'avance

  2. #2
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    Il n'y a aucune raison de remplacer preg_replace par preg_replace_callback si tes patterns n'utilisent pas le modificateur e.

    Si le cas se présente, la procédure est décrite sur cette page du manuel PHP. Tu peux également jeter un œil sur la page de preg_replace_callback pour bien comprendre en quoi consiste cette fonction.

    Mais pour ce que tu tentes de faire, preg_replace_callback n'est pas nécessaire, sauf si par exemple, tu veux tester au passage la validité des URLs ou des mails avant des les transformer en liens.

  3. #3
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 61
    Par défaut
    Voilà le message que j'ai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tmp = stripslashes(preg_replace("#" . $srch . "#isSe" . $options,$repl,$tmp));
    D'où vient le probléme

    merci d'avance

  4. #4
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    Si tu ne lis ni les messages d'erreurs, ni le manuel ni les réponses qu'on te donne, on ne peut pas t'aider plus.

  5. #5
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 61
    Par défaut
    merci pour tes réponse sinon j'ai lu ce que tu m'avais donné, si j'avais une solution a mon problème je ne viendrai pas t’embêter l'ami

  6. #6
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    Ah tu as changé ton message.

    $tmp = stripslashes(preg_replace("#" . $srch . "#isSe" . $options,$repl,$tmp)); est plutôt vague si on ne connaît pas les valeurs des variables.

Discussions similaires

  1. [PHP 5.5] preg_replace remplacé par preg_replace_callback
    Par nemox31 dans le forum Langage
    Réponses: 1
    Dernier message: 22/10/2015, 22h13
  2. [RegEx] transformer un preg_replace en preg_replace_callback (migration)
    Par le korrigan dans le forum Langage
    Réponses: 8
    Dernier message: 23/07/2015, 11h37
  3. [RegEx] problème avec preg_replace
    Par carlos20 dans le forum Langage
    Réponses: 6
    Dernier message: 27/10/2005, 10h29
  4. [RegEx] Preg_replace et affichage de variable
    Par xperienss dans le forum Langage
    Réponses: 6
    Dernier message: 13/10/2005, 13h26
  5. [RegEx] preg_replace : explications sur les caractères spéciaux
    Par Anduriel dans le forum Langage
    Réponses: 6
    Dernier message: 05/10/2005, 21h35

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