[Spip] afficher un nombre de caractères définis

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