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 :

[Tableaux] Découper une phrase en mots


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 127
    Points : 119
    Points
    119
    Par défaut [Tableaux] Découper une phrase en mots
    Hello,

    qq'un saurait il construire le pattern d'un preg pour découper une chaine en mots reprennant uniquement les mots d'au moins 3 caractères et sans la ponctuation?

    Exemple:
    $string = 'bonjour, ca va bien?';

    il faudrait retourner un tableau:
    array('bonjour', 'bien'); sans la ponctuation.

    Merci pour votre aide

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Est-ce que ceci te convient ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
     
    $string = 'bonjour, ca va bien?';
    preg_match_all('/[a-z]{3,50}/i', $string, $matches);
    echo '<pre>';
    print_r($matches);
    echo '</pre>';
     
    ?>
    Affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Array
    (
        [0] => Array
            (
                [0] => bonjour
                [1] => bien
            )
     
    )

  3. #3
    Membre averti Avatar de XtofRoland
    Profil pro
    Inscrit en
    Août 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 357
    Points : 392
    Points
    392
    Par défaut
    explode sur ' '
    Le but de tout developpeur OO est de devenir une référence.
    Mon avatar est un ambigramme, les curieux peuvent le retourner ;-)
    Aider <> Faire a la place de!!!

  4. #4
    Membre régulier
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2005
    Messages : 93
    Points : 87
    Points
    87
    Par défaut
    Joli preg, il faudrait que j'étudie un peu ça (c'est encore très sombre pour moi).

    Par contre, XtofRoland, il me semble que tu racontes des bêtises. Une chaine de caractère c'est DEJA un array.

    $test = "XtofRoland";
    echo $test[0]; //va afficher X
    echo $test[1]; //va afficher t

  5. #5
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Bon, le souci avec cette regexp est qu'elle contient une valeur arbitraire pour le nombre maximum de lettres dans un mot unique : je ne sais pas le faire pour "à partir de" jusqu'à l'infini. Ça me paraissait suffisant avec 50, à toi de voir.

  6. #6
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 127
    Points : 119
    Points
    119
    Par défaut
    Merci pour votre aide ca a l'air de fonctionner ton expression Kirkis.

    Pour l'infini il faut ecrire comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match_all('/[a-z]{3,}/i', $line, $match);
    Voilou

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

Discussions similaires

  1. Découper une phrase en mot
    Par punisher999 dans le forum Général Java
    Réponses: 17
    Dernier message: 26/03/2010, 09h14
  2. [Tableaux] Découper une chaîne de caractères
    Par mix_35 dans le forum Langage
    Réponses: 5
    Dernier message: 17/03/2007, 02h06
  3. Réponses: 2
    Dernier message: 15/02/2007, 22h00
  4. Réponses: 2
    Dernier message: 07/09/2006, 12h17
  5. [Tableaux] Comment decouper une phrase en mots?
    Par Alain15 dans le forum Langage
    Réponses: 3
    Dernier message: 26/06/2006, 10h04

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