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 :

Supprimer des mots dans une chaine de caractères


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 72
    Points : 45
    Points
    45
    Par défaut Supprimer des mots dans une chaine de caractères
    Bonjour à tous,

    voilà je vous explique mon problème. J'aimerais travailler une chaine de caractères, afin de retirer toutes les prépositions (le, l', de, du, des.....).

    J'ai essayé tout un tas de fonctions mais celles ci me suppriment également les éléments dans les mots.

    Je m'explique, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $machaine=str_replace("le","","l'abeille et le bourdon");
    va me donner "l'abeil et bourdon", alors que j'aurais aimé obtenir "l'abeille et bourdon" dans ce cas de figure.

    Quelle fonction est la plus adaptée pour cela. J'en ai essayé cinq, six mais aucune ne me permet de faire ce que je veux faire.

    Par avance, grand merci pour vos conseils.

  2. #2
    Membre éclairé Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Points : 831
    Points
    831
    Par défaut
    Peut-être qu'avec une expression régulière ça peut marcher ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $newchaine = preg_replace('/[^a-zA-Z]le[^a-zA-Z]/',' ',$oldchaine);
    Fred

  3. #3
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 835
    Points
    2 835
    Par défaut
    Cette expression régulière est plus correcte

    et voici avec plusieures prépositions :
    voici comment je te conseille de faire, bien que la langue française soit déjà bien définie et qu'il ne risque pas trop d'y avoir de nouvelles prépositions, perso je mettrais tout dans un array :
    1] c'est plus lisible
    2] tu peux y ajouter/supprimer des éléments très facilement

    Exemple donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $array = array("de", "du", "des", "l'", "les", "à", "aux"); // etc...
    $prepositions = impolode("|", $array);
    $str = preg_replace("/\b($prepositions)\b/i", $str);
    ?>

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 72
    Points : 45
    Points
    45
    Par défaut
    Grand merci à vous pour vos réponses, c'est exactement ce que je recherchais.


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

Discussions similaires

  1. Réponses: 9
    Dernier message: 23/12/2013, 16h40
  2. Supprimer des mots dans une chaine de mots clés
    Par Generation-Web dans le forum Langage
    Réponses: 4
    Dernier message: 03/01/2011, 15h31
  3. [AC-2000] Comment filtrer des mots dans une chaine de caractères
    Par bionet dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 21/07/2009, 18h16
  4. Réponses: 5
    Dernier message: 21/01/2007, 00h43
  5. recherche de mots dans une chaine de caractères
    Par jeanfrancois dans le forum Langage
    Réponses: 5
    Dernier message: 10/02/2006, 10h47

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