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] récuperer n premiers mots d'une chaine


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2005
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 35
    Points : 37
    Points
    37
    Par défaut [Tableaux] récuperer n premiers mots d'une chaine
    Salut,

    A partir d'une bdd je récupère une longue chaine de caractère. J'aimerais n'afficher que les n premiers mots de cette chaine.

    J'ai alors créé une fonction qui utilise explode(" ",$machaine)
    puis je concatène les n-1 premiers élèments du tableau généré.

    Existe-t-il une solution moins lourde que de passer par un tableau ?

    De plus je rencontre un autre problème. Ma chaine contient des sous-chaine <br />
    Le problème est que l'explode scinde cette sous-chaine. Je me retrouve avec t[x]="<br" et t[x+1]="/>" et si x = n-1 => catastrophe

    Comment gérer cette situation ?

    Merci

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 22
    Points : 24
    Points
    24
    Par défaut
    Voit si la fonction substr() peut t'aider : http://fr.php.net/manual/fr/function.substr.php

  3. #3
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Pour ton problème de <br /> tu peux faire un str_replace comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str_replace("<br />", "", $chaine)
    Mais après une petite recherche, je viens de découvrir que tu peux également faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strip_tags($text, '<br />');
    Pour plus d'info : strip_tags

    Penses aussi que tu peux avoir <br> et <br /> (si c'est pas toi qui fait la chaine)

    Pour ce qui est du découpage de la chaine, j'ai rien trouvé pour éviter le explode... Surtout que ce que tu veux c'est de s mots entiers et non un substring de la chaine qui pourrait couper certains
    DOnc Explode est pour le moment la meilleure solution

Discussions similaires

  1. Sélectionner le premier mot dans une chaine de caractères
    Par melongourmand dans le forum Requêtes
    Réponses: 16
    Dernier message: 05/05/2014, 10h47
  2. Réponses: 4
    Dernier message: 18/04/2011, 22h56
  3. Récupérer le premier mot d'une chaine
    Par Rowmanow dans le forum Langage
    Réponses: 2
    Dernier message: 14/03/2011, 10h01
  4. Réponses: 1
    Dernier message: 12/06/2009, 23h02
  5. [Tableaux] Extraire des mots d'une chaine de caractères
    Par pratiquement dans le forum Langage
    Réponses: 5
    Dernier message: 24/01/2008, 09h20

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