Limiteur de texte

Résolu
cs_Dave73 Messages postés 25 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 10 août 2005 - 23 juil. 2005 à 15:14
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 24 juil. 2005 à 01:40
Bonjour,



J'aimerais faire un if qui limite le nombre de caractère d'un texte, et
que si celui-ci est dépassé, il affiche par exemple 200 caractères, et
à la fin il met trois petits points (...).

Comme dans "Derniers Blogs" ou "Derniers messages du forum" à gauche.



Mais, impossible de faire ça. J'ai essayé de faire ça avec strlen type :



if (strlen($text) > $max_text) // $max_text contient le nombre maximal de caractère)

{

mais dans le if, je ne sais pas quoi mettre



Merci de votre aide.

9 réponses

cs_wolfcyber Messages postés 78 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 24 juillet 2005
23 juil. 2005 à 19:45
Pas besoin de condition pour ceci, tu as juste besoin d'utiliser la fonction substr();

exemple :



$text = substr($text, 0, 200); // Recupere les 200 premier caractere de la chaine

echo $text; // Affiche le texte formaté



Mais bon cette methode n'est pas vraiment la meilleur, car le dernier mot peut etre coupé.

Pour recupere les x premier mot, j'ai une petite fonction pour toi :



<?



function recup_mots($text,$nbr_mots)

{

$chaine = explode(" ",$text);

for($i=0; $i<$nbr_mots; $i++)

{

$nouvelle_chaine.=" ".$chaine[$i];

}

return $nouvelle_chaine;

}



$text = "salut ca va ?"; // Chaine à coupée

echo recup_mots($text, 2); // Affiche les 2 premier mots de la chaine, donc "salut ca".



?>

Voila j'espere que ca te servira et que j'ai correctement repondu a ta question.

@+, julien
3
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007
23 juil. 2005 à 16:43
Sérieux dès que ta la réponse tu pourras m'envoyer ta source sur mon adresse email :
[mailto:Milkasoprano@wanadoo.fr Milkasoprano@wanadoo.fr] je suis comme toi ! ca pourrait éventuellement minteresser pour mon site portail :)
@ bientot ;)
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
23 juil. 2005 à 20:23
Salut,



<?php

if(strlen($chaine)>200)

{

echo substr($chaine,0,197),'...';

}

else

{

echo $chaine;

}
?>
<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
cs_Dave73 Messages postés 25 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 10 août 2005
23 juil. 2005 à 20:24
Merci pour ta fonction wolfcyber.

Elle marche superbement.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
23 juil. 2005 à 20:35
Tu peux remplacer la fonction de wolfcyber par celle-ci :



<?php

$chaine='Essai de chaîne. Nous allons maintenant
faire une fonction permettant de récupérer les x premiers mots';



$tableau=explode(' ',$chaine);



$tableau_final=array_slice($tableau,0,10); //récupère les 10 premiers mots

echo join(' ',$tableau_final);

?>



et voilà :-)



a +

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
cs_wolfcyber Messages postés 78 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 24 juillet 2005
24 juil. 2005 à 01:05
pas mal ta methode anthomicro ;-)



@+
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
24 juil. 2005 à 01:14
Surtout plus rapide à l'éxécution je pense ;-)

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
cs_wolfcyber Messages postés 78 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 24 juillet 2005
24 juil. 2005 à 01:24
Ouai merci anthmicro, j'ai regarder ton petit chat, il dechire...bien joué !!
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
24 juil. 2005 à 01:40
;-)

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
Rejoignez-nous