Faire sa propre #INTRODUCTION

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

  à+
  
--
Cordialement,
L'équipe technique de Dioxyde.org
root@dioxyde.org

-> Liste de discussion: infos@dioxyde.org
    Abonnement: infos-subscribe@dioxyde.org

-> En cas de spam de la part d'une adresse @dioxyde.org,
envoyez un message à abuse@dioxyde.org

Je ne connais pas encore le code de SPIP. Je suis seulement entrain de l'explorer, chaque fois que j'ai un petit moment. Je ne connais même pas encore toutes les finesses de SPIP. Ma remarque se limite donc strictement à ton code.

Ça serait intéressant d'avoir une balise dans le texte, comme [(FIN_Introduction)], (dont le principe servira plus tard à définir un article sur plusieurs pages) qui permet de calculer la variable $max_caracteres, au lieu de l'avoir fixe

Exemple de balise

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

  à+

--
Cordialement,
L'équipe technique de Dioxyde.org
root@dioxyde.org

-> Liste de discussion: infos@dioxyde.org
    Abonnement: infos-subscribe@dioxyde.org

-> En cas de spam de la part d'une adresse @dioxyde.org,
envoyez un message à abuse@dioxyde.org

_______________________________________________
spip mailing list
spip@rezo.net
http://listes.rezo.net/mailman/listinfo/spip

Dans la version 1.3 on a prévu un système permettant de définir si l'on veut
l'extrait du texte qui forme l'#INTRODUCTION. Si vous voulez tester,
n'hésitez pas : http://rezo.net/spip-dev/devel/ ; on en discute sur la liste
spip-dev@rezo.net

En deux mots : si le chapo ou le texte contiennent des parties balisées
<intro>...</intro>, ces parties-là sont mises bout-à-bout pour former le tag
#INTRODUCTION. Sinon #INTRODUCTION est le truc habituel (coupe à 600
caractères, etc.)

Ça serait intéressant d'avoir une balise dans le texte, comme
[(FIN_Introduction)], (dont le principe servira plus tard à définir un
article sur plusieurs pages) qui permet de calculer la variable
$max_caracteres, au lieu de l'avoir fixe

-- Fil