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 :

[Système] Tronquer un long texte à un saut de ligne


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Points : 190
    Points
    190
    Par défaut [Système] Tronquer un long texte à un saut de ligne
    Pour tronquer un texte proprement sans couper de mots, j'utilise la procédure suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    $max_caracteres=50;
    // Teste si la longueur du texte dépasse la limite
    if (strlen($texte)>$max_caracteres)
    {
    // Séléction du maximum de caractères
    $texte = substr($texte, 0, $max_caracteres);
    // Récupération de la position du dernier espace (afin déviter de tronquer un mot)
    $position_espace = strrpos($texte, " ");
    $texte = substr($texte, 0, $position_espace);
    // Ajout des "..."
    $texte = $texte."...";
    }
    ?>
    qui n'est pas de moi...

    MA QUESTION : est-il possible de tronquer un texte non pas à l'espace " ", mais au saut de ligne et/ou au retour de chariot ?

  2. #2
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 727
    Points
    1 727
    Par défaut
    J'utiliserais preg_match_all() avec l'option PREG_OFFSET_CAPTURE pour recuperer les mots et leurs positions.
    Je parcourrais ensuite la liste des mots et regarderais si la fin du mot courant (sa position de debut + sa longueur) depasse le nombre max de caracteres.

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

Discussions similaires

  1. [Débutant] Textbox text et saut de ligne automatique
    Par peltiarn dans le forum VB.NET
    Réponses: 3
    Dernier message: 11/05/2014, 22h41
  2. Tronquer automatiquement un texte trop long
    Par adilassadi dans le forum Langage
    Réponses: 3
    Dernier message: 18/05/2007, 00h49
  3. Très long texte dans Quick Report - Comment faire ?
    Par delphi+ dans le forum Composants VCL
    Réponses: 2
    Dernier message: 21/08/2005, 22h18
  4. Réponses: 9
    Dernier message: 23/05/2005, 09h35
  5. Réponses: 2
    Dernier message: 03/12/2004, 09h27

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