Tronquer l'affichage d'un champ

Eléphanteau du PHP | 37 Messages

24 oct. 2005, 17:59

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 ?

Mig'
Invité n'ayant pas de compte PHPfrance

24 oct. 2005, 18:06

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 ;)

Eléphanteau du PHP | 37 Messages

25 oct. 2005, 09:19

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:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

25 oct. 2005, 09:29

Le code que tu nous donnes correspond à quoi ?

Qu'est-ce que tu as fait et qqu'est-ce qui ne marche pas ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 37 Messages

25 oct. 2005, 10:59

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

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

25 oct. 2005, 11:22

Et en faisant ça, tu arrives à quoi ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 37 Messages

25 oct. 2005, 11:32

à un message d'erreur...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

25 oct. 2005, 11:34

lequel ? J'ai cassé ma boule de crystal hier soir et je ne devine pas les erreurs ;) :lol:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 11 Messages

25 oct. 2005, 15:46

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 ;)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

25 oct. 2005, 16:27

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:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Petit nouveau ! | 1 Messages

25 oct. 2005, 16:50

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.

Eléphanteau du PHP | 11 Messages

25 oct. 2005, 17:00

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 ;)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

25 oct. 2005, 17:05

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 ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 37 Messages

26 oct. 2005, 08:46

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...) :)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

26 oct. 2005, 08:48

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);
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer