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 :

Remplacer ereg_replace par preg_replace [RegEx]


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut Remplacer ereg_replace par preg_replace
    Bonjour tt le monde,

    Svp je voudrais changer ereg_replace par preg_replace ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $Correction = $Email;
    $Correction = trim(ereg_replace ('(%20)',  ' ', $Correction));
    $Correction = trim(ereg_replace ('<br>' ,  '' , $Correction));
    $Correction = trim(eregi_replace('(%3c)',  '.', $Correction));
    $Correction = trim(eregi_replace('}'   ,  'e', $Correction));
    $Correction = trim(ereg_replace ("[](){}<> \t=$£µ§¤#^'`¨~²[]\"<>*", '' , $Correction));								
       if (!strstr($Correction, '@') && strstr($Correction, 'à')) { $Correction = str_replace('à', '@', $Correction); }
      $Correction = strtr($Correction, 'ÄÂÀâäàãéèêëËÉÈÙ€îïìôõöÖÔÒùûüçǍ‡*/:', 'aaaaaaaeeeeeeeeeeiiioooooouuucccc-..');	// Attention 'Ù' devient 'e' !
      $Correction = ereg_replace('[\\|/%\'°";?,‚!]', '.', $Correction);
      $Correction = ereg_replace('( |\. | \.|\.\.|\.-|-\.)', '.', $Correction);
      $Correction = ereg_replace('(--|-\.-|-_|_-)', '-', $Correction);
    et ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    else
    	{
    	$Tmp_Correction = ereg_replace($Erreur['Correction'], $Erreur['Remplacement'], $Correction);
     
    	if ($Correction != $Tmp_Correction)
    	{
    		$Correction = $Tmp_Correction;
     
    	}
    	else
    	{
    	$Correction = ereg_replace($Erreur['Correction'],   $Erreur['Remplacement'], $Correction);
    	continue;
     
    	}
     
         }

  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
    Et quel est ton problème ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Ben le prb c'est que ça marche sur PHP4 mais pas sur la dernière version du PHP5, donc je voulais remplacer ereg_replace puisque il est "deprecated".

    Merci

  4. #4
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 73

    Informations forums :
    Inscription : Janvier 2011
    Messages : 7
    Points : 11
    Points
    11
    Par défaut j'ai peut-être la solution
    bonjour
    pour adapter un portail php4 au php5 on m'a dit
    remplacer ereg par mb_ereg ou preg_match
    j'ai remplacé par mb_ereg et ça a marché partout
    alors peut-être
    Fran

  5. #5
    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
    Ben le prb c'est que ça marche sur PHP4 mais pas sur la dernière version du PHP5, donc je voulais remplacer ereg_replace puisque il est "deprecated".
    ca ce n'est pas ton problème, c'est ce que tu veux faire.
    Qu'est ce que tu n'arrives pas a faire dans ce passage d'une fonction a l'autre ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Merci frannyz, je vais la tester tt de suite.

    Sabotage: J'ai des erreurs dans mon fichier log dû a cette fonction.
    Merci bcp pour vos réponses les gars

  7. #7
    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
    Si tu ne nous donnes pas les erreurs, ca va etre difficile de te dire ce que tu fais mal.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Merci pour ton aide sabotage,

    ereg_replace() : REG_EMPTY in ..... ligne 177
    ereg_replace() : REG_EMPTY in ..... ligne 177
    ereg_replace() : REG_EMPTY in ..... ligne 186

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    else
    	{
    	$Tmp_Correction = ereg_replace($Erreur['Correction'], $Erreur['Remplacement'], $Correction);  <---- ligne 177
     
    	if ($Correction != $Tmp_Correction)
    	{
    		$Correction = $Tmp_Correction;
     
    	}
    	else
    	{
    	$Correction = ereg_replace($Erreur['Correction'],   $Erreur['Remplacement'], $Correction); <----- ligne 186
    	continue;
     
    	}
     
         }
    Cordialement,

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    c'est pas dur faut juste lire la doc...
    http://www.php.net/manual/fr/regexp....delimiters.php

  10. #10
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Bonjour Frannyz,

    J'ai testé ta solution, mais malheureusement ne fait pas le travail, par contre je n'ai eu aucune erreur sur mon log

  11. #11
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    c'est pas dur faut juste lire la doc...
    http://www.php.net/manual/fr/regexp....delimiters.php
    Oui Stealth, t'as touché le prb mais comment ajouter des delimeters ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $Tmp_Correction = preg_replace($Erreur['Correction'], $Erreur['Remplacement'], $Correction);
    J'ai essayé ceci mais ça marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $Tmp_Correction = preg_replace('/$Erreur['Correction']/', $Erreur['Remplacement'], $Correction);
    Merci

  12. #12
    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
    C'est une erreur de syntaxe PHP que tu as :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Tmp_Correction = preg_replace('#' . $Erreur['Correction'] .'#', $Erreur['Remplacement'], $Correction);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    et ben voilà, Merci bcp Sabotage

    Une 'tite question, les métacaractères sont plus valide ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    $Correction = $Email;
    $Correction = trim(preg_replace ('#(%20)#',  ' ', $Correction));
    $Correction = trim(preg_replace ('#<br>#' ,  '' , $Correction));
    $Correction = trim(preg_replace('#(%3c)#i',  '.', $Correction));
    $Correction = trim(preg_replace('#}#i'   ,  'e', $Correction));
    $Correction = trim(preg_replace ('@[](){}<> \t=$£µ§¤#^`¨~²[]\"<>*@i', '' , $Correction));								
    	if (!strstr($Correction, '@') && strstr($Correction, 'à')) { $Correction = str_replace('à', '@', $Correction); }
    $Correction = strtr($Correction, 'ÄÂÀâäàãéèêëËÉÈÙ€îïìôõöÖÔÒùûüçǍ‡*/:', 'aaaaaaaeeeeeeeeeeiiioooooouuucccc-..');	/
    $Correction = preg_replace('#[\\|/%\'°";?,‚!]#', '.', $Correction);
    erreur vient d'ici-->> $Correction = preg_replace('#( |\. | \.|\.\.|\.-|-\.)#', '.', $Correction);
    $Correction = preg_replace('#(--|-\.-|-_|_-)#', '-', $Correction);
    Par exemple pour remplacer un "espace" avec "" il me met "." ( point ) au lieu de "" ( vide)

    Merci pour ton aide

  14. #14
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    à quoi il sert ton code ?

  15. #15
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    à corriger et nettoyer les adresses emails

  16. #16
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par mr_insane Voir le message
    Bonjour,

    à corriger et nettoyer les adresses emails
    ouai donc le même boulot que FILTER_SANITIZE_EMAIL
    http://www.php.net/manual/fr/filter....nitization.php

  17. #17
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Merci stealth35 et sabotage pour votre help

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

Discussions similaires

  1. [RegEx] Remplacement par preg_replace
    Par Invité dans le forum Langage
    Réponses: 8
    Dernier message: 11/09/2012, 08h27
  2. Remplacer foncton eregi_replace par preg_replace
    Par Amouna85 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 10/10/2011, 15h40
  3. [RegEx] Remplacer ereg_replace par preg_replace
    Par manuaparis dans le forum Langage
    Réponses: 2
    Dernier message: 26/12/2009, 17h38
  4. [Configuration] remplacement des é par des i
    Par illegalsene dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 18/10/2005, 16h37
  5. [ASP] include remplacer chemin par variable
    Par damn dans le forum ASP
    Réponses: 3
    Dernier message: 01/10/2004, 15h27

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