Limiteur de texte [Résolu]

cs_Dave73 25 Messages postés jeudi 5 mai 2005Date d'inscription 10 août 2005 Dernière intervention - 23 juil. 2005 à 15:14 - Dernière réponse : cs_Anthomicro 9440 Messages postés mardi 9 octobre 2001Date d'inscription 13 avril 2007 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
cs_wolfcyber 78 Messages postés dimanche 22 février 2004Date d'inscription 24 juillet 2005 Dernière intervention - 23 juil. 2005 à 19:45
3
Merci
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

Merci cs_wolfcyber 3

codes-sources a aidé 82 internautes ce mois-ci

Commenter la réponse de cs_wolfcyber
milkasoprano 239 Messages postés jeudi 21 juillet 2005Date d'inscription 1 juillet 2007 Dernière intervention - 23 juil. 2005 à 16:43
0
Merci
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 ;)
Commenter la réponse de milkasoprano
cs_Anthomicro 9440 Messages postés mardi 9 octobre 2001Date d'inscription 13 avril 2007 Dernière intervention - 23 juil. 2005 à 20:23
0
Merci
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>
Commenter la réponse de cs_Anthomicro
cs_Dave73 25 Messages postés jeudi 5 mai 2005Date d'inscription 10 août 2005 Dernière intervention - 23 juil. 2005 à 20:24
0
Merci
Merci pour ta fonction wolfcyber.

Elle marche superbement.
Commenter la réponse de cs_Dave73
cs_Anthomicro 9440 Messages postés mardi 9 octobre 2001Date d'inscription 13 avril 2007 Dernière intervention - 23 juil. 2005 à 20:35
0
Merci
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>
Commenter la réponse de cs_Anthomicro
cs_wolfcyber 78 Messages postés dimanche 22 février 2004Date d'inscription 24 juillet 2005 Dernière intervention - 24 juil. 2005 à 01:05
0
Merci
pas mal ta methode anthomicro ;-)



@+
Commenter la réponse de cs_wolfcyber
cs_Anthomicro 9440 Messages postés mardi 9 octobre 2001Date d'inscription 13 avril 2007 Dernière intervention - 24 juil. 2005 à 01:14
0
Merci
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>
Commenter la réponse de cs_Anthomicro
cs_wolfcyber 78 Messages postés dimanche 22 février 2004Date d'inscription 24 juillet 2005 Dernière intervention - 24 juil. 2005 à 01:24
0
Merci
Ouai merci anthmicro, j'ai regarder ton petit chat, il dechire...bien joué !!
Commenter la réponse de cs_wolfcyber
cs_Anthomicro 9440 Messages postés mardi 9 octobre 2001Date d'inscription 13 avril 2007 Dernière intervention - 24 juil. 2005 à 01:40
0
Merci
;-)

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




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Commenter la réponse de cs_Anthomicro

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.