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 :

Verifier chaine de caractére [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Par défaut Verifier chaine de caractére
    Bonjour a tous,
    je cherche comment faire pour vérifier qu'uns variable/chaine commence pas une voyelle.
    un petit bout de code serait cool

    Merci d'avance de votre aide

    Cdt

  2. #2
    Membre éclairé Avatar de BRUNO71
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2007
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 507
    Par défaut
    Bonsoir,

    Utilise la fonction str_split pour transformer ta chaîne en tableau de caractères.
    Puis, avec un foreach tu parcours le tableau.
    A chaque caractère, tu regardes si c'est une voyelle.
    Si oui, tu incrémentes un compteur (initialisé à 0 avant la boucle).


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
    $txt = 'Il est l'heure de manger la soupe';
    $tab = array str_split('a', 'e', 'i', 'o', 'u', 'y');
    $tot = 0;
    foreach($tab as $voyelle){
     $tot += substr_count(strtolower($txt), $voyelle);
    }
    echo $tot.' voyelles';  // Affiche le total si tu veux, sinon autre chose
    ?>
    voir les fonctions dans http://php.net/manual/fr/function.str-split.php
    strtoupper, strtolower, ucfirst, ucwords

    A tester.....

    Cordialement

  3. #3
    Membre éclairé Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Par défaut
    bonjour et merci
    de jeter un œil a mon problème
    en faites je ne veux pas compter les voyelles.

    Je veux juste savoir si la chaîne $txt dans ton exemple commence par un voyelle
    pour ensuite l'utiliser dans un if()...

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 264
    Par défaut
    Comme en C, tu peux traiter une chaine de caractères comme un tableau de caractères. Tu peux donc faire un code du genre :

    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
     
    <?php
    $chaine="test";
    // code de démonstration
    print $test[0]; // afficher le 1er caractère de la chaine soit 't'
    // fin code de démonstration
    if ($test[0]=='a' || $test[0]=='e') // compléter avec les autres voyelles
    {
     "print "la première lettre est une voyelle";
    }
    else
    {
      print "la première ligne est une console";
    }
    ?>
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  5. #5
    Membre éclairé Avatar de BRUNO71
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2007
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 507
    Par défaut
    Bonsoir,

    Regarde ICI...si tu trouves ton bonheur..

    Bonne soirée

  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
    Rien de difficile avec un tutoriel basique sur les regex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (preg_match('~^[aeiou]~i', $str)) {
    Pour le faire fonctionner avec des caractères accentués, il faut par contre être plus explicite et ajouter, d'une part la liste complète des voyelles accentuées de la langue cible et d'autre part le modificateur u indiquant que les caractères de la chaîne et de la pattern sont encodés sur plusieurs octets (en UTF8):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (preg_match('~^[aeiouàâäéèêëîïôöûüæœ]~iu', $str)) {

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

Discussions similaires

  1. [Tableaux] Décomposer une chaine de caratères
    Par bianconeri dans le forum Langage
    Réponses: 8
    Dernier message: 06/03/2006, 15h43
  2. incrémenter des chaines de caratères
    Par stan21 dans le forum Access
    Réponses: 6
    Dernier message: 22/02/2006, 14h19
  3. Convertir des chaines de caratères en chiffres
    Par Mr Hyde dans le forum Général Python
    Réponses: 1
    Dernier message: 06/09/2005, 15h18
  4. newb manipulation chaine de caratère
    Par yodark dans le forum Langage
    Réponses: 6
    Dernier message: 03/09/2005, 20h02
  5. Réponses: 1
    Dernier message: 08/03/2004, 11h35

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