ptite question pour la forme :
comment afficher x caractères (par exemple les 20 premiers caractères) d’un article dans une boucle articles ?
merci d’avance
ptite question pour la forme :
comment afficher x caractères (par exemple les 20 premiers caractères) d’un article dans une boucle articles ?
merci d’avance
Bonjour younès,
y> comment afficher x caractères (par exemple les 20 premiers
y> caractères) d'un article dans une boucle articles ?
Déjà posté sur la liste:
----
Bonjour à tous,
Voici une petite astuce que nous utilisons pour faire nous même une
balise #INTRODUCTION à partir soit de #INTRODUCTION ou de #TEXTE.
Pourquoi? Parce que la balise introduction garde des retours à la
ligne et fait 600 caractères.
Ainsi grâce à notre fonction (à mettre dans mes_fonctions.php3) on
peut supprimer tous les codes HTML et faire un extrait du nombre de
caractères qu'on veut.
<?
function nobr($texte)
{
$texte = ereg_replace("<(('?[^\n'])*)>","",$texte);
return $texte;
}
function court($texte)
{
$max_caracteres=400;
$texte = substr($texte,0,$max_caracteres);
$texte = $texte."...";
return $texte;
}
?>
Explications: La fonction nobr va supprimer tous les codes HTML et
la fonction court va réduire le texte à 400 caractères et lui
ajouter "...". Le nombre de caractères à restreindre peut être
changé en modifiant $max_caracteres.
Ensuite dans vos squelettes vous n'avez qu'à appliquer ces fonctions
à des balises. Exemple: [(#TEXTE|nobr|court)].
Par extension en modifiant un peu la fonction court, on peut créer
des articles sur plusieurs pages, en modifiant les squelettes et en
créant un système automatisé de pages en pages. Mais ceci est une
autre histoire.
Nota: Vous pouvez créer plusieurs fonctions court dénommées
différemment (court_petit, court_grand, court_normal...) pour avoir
plusieurs tailles d'introductions (en n'oubliant pas de modifier
$max_caracteres pour chaque fonction).
à+
----
PS: A la place de la fonction nobr vous pouvez utiliser dans vos
squelettes la fonction strip_tags qui est plus efficace.
-- BohwaZ