Page 1 sur 1

Tronquer un champ pour qu...

Posté : 01 mars 2006, 17:55
par newbee
Re- à tous

Encore une question toute bète:
Comment tronquer un champs?
Je m'explique...
Je fais un SELECT etc... suivi d'un echo '$variable';
Mon echo est inséré dans un tableau Htm pour la mise en forme.
Mais comme mon champs est souvent trop long, je voudrais afficher seulement les 20 premiers caractères de mon champs suivi de point de suspension (voir titre du sujet).

Comment faire?

Merci d'avance :)

Posté : 01 mars 2006, 17:59
par charabia
<?php
// Pour tronquer une chaîne (dans un espace)
// trop longue et mettre à la suite 3 points évoquateurs :
$comment = "Un commentaire vraiment ";
$comment .= "très long et qu'il va falloir tronquer !";

//on donne une longueur maxi de caractères
$lg_max = 20;

if (strlen($comment) > $lg_max) {
    $comment = substr($comment, 0, $lg_max);

    //a partir de quelle lettre on doit couper la phrase
    $last_space = strrpos($comment, " "); 
    $comment = substr($comment, 0, $last_space)."...";
}
echo $comment;
?>
ou encore
function Tronquer_Texte($texte, $longeur_max)
{
    if (strlen($texte) > $longeur_max) 
    { 
    $texte = substr($texte, 0, $longeur_max); 
    $dernier_espace = strrpos($texte, " "); 
    $texte = substr($texte, 0, $dernier_espace)."..."; 
    } 

    return $texte;
}


echo Tronquer_Texte("Voici un exemple de texte tronqué.", 20);
Après tu l'adaptes à ton code ;)

Posté : 01 mars 2006, 18:00
par ciesco
substr($chaine,0,20)

ca te va?
les posts se sont croises.. tres bien evidemmenty le cript au dessus..

Posté : 01 mars 2006, 18:05
par Ryle
Ah tiens, c'est pas bête de rechercher l'espace pour pas couper au milieu d'un mot.. j'ai tendance à être un peu sauvage et tronquer comme ciesco :)

Posté : 01 mars 2006, 18:42
par newbee
Bon bah, comma d'hab. Que dire à part :
Merci les gars (c'est une façon de parler, pas de mysoginisme ici ;) )

Rapide, efficace, nickel.

Bonne soirée à tous :merci: