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 des lettres ou des chiffres [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 181
    Points : 114
    Points
    114
    Par défaut Remplacer des lettres ou des chiffres
    Bonjour,

    Pour un script , j'ai besoin de supprimer (par des étoiles) soit des chiffres ou des lettres :

    Exemple :
    ABCD1234OPL -> ABCD****OPL
    ou
    ABCD1234OPL -> ****1234***

    Comment puis-je détecter des lettres de A_Z (majuscule) ou des chiffres 0_9 et procéder au remplacement.

    Merci d'avance pour votre aide

  2. #2
    Membre éprouvé
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Points : 1 057
    Points
    1 057
    Par défaut
    Salut,

    Ba pour les chiffres tu fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    preg_replace('/(\d)/', '*', $var);
    Et pour les majuscules :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    preg_replace('/[A-Z]/', '*', $var);


    Les boutons et existent, servez-vous en

  3. #3
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    les patterns de amoiraud sont bons

    Juste pour info, le jour où tu voudras plusieurs patterns
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $var="ABzd34rf";
    $pregVar = preg_replace(array('/\d/', '/[A-Z]/'), '*', $var);
    echo $pregVar;
    donnera **zd**rf

    Je sais ça répond pas à la question mais c'est pour l'utilité
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 181
    Points : 114
    Points
    114
    Par défaut
    Merci beaucoup, ça fonctionne comme je voulais .

  5. #5
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    A noter que pour vous simplifier la vie, il existe des patterns spécifiques [:alnum:], [:blank:], [:space:] et j'en passe. Voir la liste.

    Ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $str = '#abc123.0$DEF%';
     
    // tout ce qui est numérique
    preg_match_all('~[[:digit:]]+~', $str, $m); var_dump(implode($m[0]));
     
    // tout ce qui n'est pas numérique
    preg_match_all('~[^[:digit:]]~', $str, $m); var_dump(implode($m[0]));
     
    // tout ce qui n'est ni numérique ni en majuscules
    preg_match_all('~[^[:digit:][:upper:]]~', $str, $m); var_dump(implode($m[0]));

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 181
    Points : 114
    Points
    114
    Par défaut
    Merci.

    Savez-vous comment puis-je simplifier ces 3 lignes :

    $var = strtoupper ($var);
    $var = preg_replace('/-/','', $var);
    $var = preg_replace('/ /','', $var);

    Merci d'avance

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

Discussions similaires

  1. Conversion des lettres par des lettres avec accent
    Par SamusStrife dans le forum Général Java
    Réponses: 6
    Dernier message: 28/10/2014, 15h44
  2. [PHP 5.1] Remplacement des accents par des lettres sans accents
    Par marcandre dans le forum Langage
    Réponses: 14
    Dernier message: 11/10/2012, 16h55
  3. Réponses: 3
    Dernier message: 09/10/2009, 18h05
  4. Séparation des lettres et des chiffres d'une chaîne
    Par camoa dans le forum Assembleur
    Réponses: 2
    Dernier message: 24/01/2007, 17h46
  5. [VB-Excel]Trier une valeur comprennant des lettres et des chiffres
    Par DomBourti dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/07/2006, 21h51

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