Page 1 sur 2

Tronquer l'affichage d'un champ

Posté : 24 oct. 2005, 17:59
par resistenz76
Bonjour,
je voudrais dans une liste de "news" restreidre l'affichage du champ "texte" à un nombre n de caracteres et afficher à la fin (...) pour signifier que le texte est tronqué.

qu'en pensez-vous ?

Posté : 24 oct. 2005, 18:06
par Mig'
voila la solution du site : http://www.destrucsaweb.com/ressources/ ... oto_38.php
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);
Moi j'ai utilisé un code assez similaire pour mon site et c parfait. @+

Modération (Zeus) : on utilise les balises [ php ] pour du code ;)

Posté : 25 oct. 2005, 09:19
par resistenz76
Merci pour ton aide !
Mais je souhaite récuperer le texte d'un champ. En remplaçant apres echo le texte par le resultat du champ '.$data['texte'].' ça ne semble pas fonctionner...
Doit declarer la fonction avant ?

	// on affiche les informations de l'enregistrements en cours 
    echo '<table cellspacing="1">
<tr><td><font size="2"><img src="Images/flech_r.gif">&nbsp;<b>'.$data['titre'].'</b></font><br><font size="2">'.$data['texte'].'<p><a href="http://actu.php?id='.$data['id'].'">'.$data['nom_lien'].'</a></font>
</td></tr></table>';


:roll:

Posté : 25 oct. 2005, 09:29
par zeus
Le code que tu nous donnes correspond à quoi ?

Qu'est-ce que tu as fait et qqu'est-ce qui ne marche pas ?

Posté : 25 oct. 2005, 10:59
par resistenz76
Re-bonjour,

je recupere d'une bd plusieurs champ dont le champ 'texte' que je souhaite tronquer à l'affichage sur ma page d'accueil (pour ne pas que cela prenne trop de place...). Dond il faut spécifier le nombre de caracteres que l'on veut afficher (par ex 60) et je vois que l'on peut determiner l'affichage de (...) pour spécifier que le texte est tronqué.

j'avoue que j'ai essayé betement de copier coller le code affiché plus haut dans ma page en remplaçant
"Voici un exemple de texte tronqué."
par
'.$data['texte'].'
en priant St Péagepé que cela fonctionne... [-o<

Je sais que le but du forum est de réussir tout seul donc si c'est la melleure solution qui m'a été apporté je vais travailler tout ça ce week end...

Merci

Posté : 25 oct. 2005, 11:22
par zeus
Et en faisant ça, tu arrives à quoi ?

Posté : 25 oct. 2005, 11:32
par resistenz76
à un message d'erreur...

Posté : 25 oct. 2005, 11:34
par zeus
lequel ? J'ai cassé ma boule de crystal hier soir et je ne devine pas les erreurs ;) :lol:

Posté : 25 oct. 2005, 15:46
par kalivan
bonjour,

alors, ^^ j'ai sensiblement le meme probleme.

voila ce que je cherche. je tiens avant tout a presicer que je suis debutant en php.

dc ... :D :D

voila mon shema de page...

une page d'administration avec ds celle-ci un formulaire avec :
nom
date
et texte

lorsque on valide, les données sont inscrite dans la BDD qui devrons ensuite apparaitre ds la premiere page (index).

cette news ne devra afficher que 300 caracteres. a la fin de ces 300Caracteres il y aurais un bouton "lire la suite" qui, en appuyant devra afficher le reste de la news.

vous m'avez bien comrpis ? lol

En vous remerciant d'avance ;)

Posté : 25 oct. 2005, 16:27
par zeus
Modération : si tu es l'invité qui a posté le même message tout à l'heure, suit ce lien :
http://www.phpfrance.com/forums/voir_sujet-10049.php
Excuse moi mais j'ai oublié de le noter ici :oops:

Posté : 25 oct. 2005, 16:50
par helix
j'avoue que j'ai essayé betement de copier coller le code affiché plus haut dans ma page en remplaçant
"Voici un exemple de texte tronqué."
par
'.$data['texte'].'
en priant St Péagepé que cela fonctionne...
Essaie en remplaçant
"Voici un exemple de texte tronqué."
par
$data['texte']
sans la ponctuation autour, ça devrait mieux marcher.

Posté : 25 oct. 2005, 17:00
par kalivan
Modération : si tu es l'invité qui a posté le même message tout à l'heure, suit ce lien :
http://www.phpfrance.com/forums/voir_sujet-10049.php
Excuse moi mais j'ai oublié de le noter ici :oops:
heu je crois que tu t'est trompe lol (autant c'est moi)

ce lien ce dirige vers vers le post "invite" que j'ai cree sans faire expres :/ et le liens du post "invite" me renvois ici.

je fais donc l'ascenseur entre les 2 post sans trouvé ma solution lol

merci ;)

Posté : 25 oct. 2005, 17:05
par zeus
Je ne me suis pas trompé.
Quand tu as posté ta question dans ce thread, je l'ai découpé dans un autre message pour ne pas mélanger vos questions et j'ai laissé un lien dans ce message pour qu'on puisse retrouver ce post.

Quand tu as posté un 2nd message, je t'ai renvoyé sur l'autre post pour te signifier que je l'avais créé.

Je te demande donc de poser tes questions dans l'autre post, celui créé pour toi ;)

Posté : 26 oct. 2005, 08:46
par resistenz76
Bonjour,
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/users2/c/www/index2.php on line 56
la ligne 56 correspond à
echo Tronquer_Texte("$data['texte']", 20);
(j'ai essayé avec les points les guillements et sans les apostrophes...) :)

Posté : 26 oct. 2005, 08:48
par zeus
Pas besoin de mettre ta variable dans une chaine de carctères, tu peut l'envoyer directement.
Essaye plutot comme ça :
echo Tronquer_Texte($data['texte'], 20);