SPIP a un formatage particulier des articles : il ne permet pas d’afficher les sauts de ligne tels qu’ils sont insérés lors de la rédaction de l’article. En effet, un saut de ligne simple ne change rien, un double induit la creation d’un nouveau paragraphe.
L’astuce de SPIP est d’ajouter un _ (tiret bas suivit d’un espace). Pour l’utilisateur lambda, un tel procédé n’est pas pratique, et conduit la majeure du temps à son oubli, et donc à un article completement défiguré.
En rajoutant 3 lignes de code dans ecrire/inc_texte.php3, les sauts de lignes sont retrouvés :)
il suffit de rechercher la ligne
et de remplacer par :
preg_replace("/\n([\w\d])/", "\n<br />\\1", $letexte);
est l’élément clé : il signifie : « remplacer par un saut de ligne html tous les sauts de ligne dont la ligne suivante commence par un caractère alphanumérique »
$letexte = preg_replace("@^ ?<br />@", "", $letexte);
retire le saut de ligne en debut d’article.
Jujubre



Vos commentaires
# Le 27 avril 2011 à 05:06, par frdm
En réponse à : Retours à la ligne fidèles à l’article rédigé
Un article sur le présent site existe désormais pour le plugin « Retour simple » qui a été élaboré en partant de la contribution de Jujubre « Retours à la ligne fidèles à l’article rédigé ». Voir Alinéas : “Retour simple”, qui met en oeuvre finalement le filtre
|post_autobrprésent dans Spip..Répondre à ce message
# Le 4 février 2011 à 04:07, par frdm
En réponse à : Retours à la ligne fidèles à l’article rédigé
Voici l’adaptation des instructions à SPIP 2.1.8
En rajoutant 3 lignes de code dans
ecrire/inc/texte.phples sauts de lignes sont retrouvés :)
il suffit de rechercher la ligne
(rédaction du code dans SPIP 2.1.8)
et de la remplacer par :
# Le 5 février 2011 à 00:28, par frdm
En réponse à : Retours à la ligne fidèles à l’article rédigé
En moins de 3 heures après que j’ai posé ma « question » sur le forum interne, Maïeul (merci !) a confectionné un plugin qui résout cette question :
http://files.spip.org/spip-zone/retoursimple.zip
Il n’y a plus besoin de modifier un fichier de Spip : le plugin se charge des retours à la ligne simple.
# Le 6 février 2011 à 10:23, par krostof
En réponse à : Retours à la ligne fidèles à l’article rédigé
Bonjour,
Je suis sous spip 2.1.8 et lorsque je veut sauter un paragraphe, et que j’inclus deux lignes blanches dans mon texte dans l’espace privé, je ne retrouve pas ce saut de ligne dans l’espace public.
J’ai essayé avec
_ espace_ espace
et ça ne fonctionne pas non plus.
J’ai téléchargé ce plugin et idem.
Vous n’auriez pas une idée ?
# Le 21 avril 2011 à 22:29, par frdm
En réponse à : Retours à la ligne fidèles à l’article rédigé
@ krostof : Vous cherchez à “tricher”. Le plugin n’est pas fait pour cela. Pour “tricher” correctement, vous pouvez essayer :
Répondre à ce message
# Le 5 août 2006 à 14:21, par Thierry Gagnon
En réponse à : Retours à la ligne fidèles à l’article rédigé
Merci ! Je me demande s’il serait possible de faire cette intervention sous la forme d’un filtre qui serait appliqué avant |propre ? C’est à essayer...
# Le 10 août 2006 à 23:40, par yannick069
En réponse à : Retours à la ligne fidèles à l’article rédigé
Bien sûr que tu peux en faire un filtre.
Tu as tout ce qu’il faut pour ^^
Il suffit d’ajouter une fonction dans ton fichier mes_fonctions.php (que tu crées le cas échéant dans ton répertoire squelettes) :
/*****************************************************************************//* Formate un texte comme dans partie privée (sauts de ligne).
/*****************************************************************************/
function sauts_ligne($letexte='') {
if($letexte) {
$letexte = trim($letexte);
$letexte = preg_replace("/\n([\w\d])/", "\n<br />\\1", $letexte);
$letexte = preg_replace("@^ ?<br />@", "", $letexte);
$letexte = "\n".$letexte;
return $letexte;
} else return('');
}
Ensuite dans tes fichiers html tu appelles ton texte à afficher avec ce filtre de cette manière :
[(#TEXTE*|sauts_ligne|propre)]Et voilà le tour est joué ;)
Yan
# Le 10 août 2006 à 23:50, par yannick069
En réponse à : Retours à la ligne fidèles à l’article rédigé
J’ai posté un peu vite, le filtre affichera bien le texte comme voulu ds la partie publique mais le problème restera le même pour la partie privée. La seule solution que je vois étant en effet de modifier directement dans écrire/inc_texte.php
# Le 31 janvier 2008 à 15:43, par chryjs
En réponse à : Retours à la ligne fidèles à l’article rédigé
Il y a beaucoup de points dans ton message. Je vais essayer de répondre au fur et à mesure :
Je prend bonne note de tes remarques et vais faire quelques ajouts pour l’améliorer :)
[1] L’autre choix serait de l’ajouter dans ecrire/ ce que je ne recommande pas.
Répondre à ce message
# Le 9 janvier 2008 à 14:19, par zerax
En réponse à : Autre astuce sans Forker le core
Voici le code qui fonctionne dans mes_fonctions.php :
je l’ai testé sur SPIP 1.9.2c et c’est cencer foncitonner dans toutes les versions contenant le pipeline pre_typo
la regexp ne prend pas en compte par exemple si on a 2 raccourcis de liens qui se suivent(aprés un retour a la ligne.
Bon ya forcement a améliorer la regexp mais ca au moins le mérite de fonctionner...
function sautligne_pre_typo($texte){
$texte = trim($texte);
$texte = preg_replace("@([\w\d])([\n])([\w\d])@S", "$2_ $3", $texte);
$texte = preg_replace("@^ ?<br />@", "", $texte);
$texte = "\n".$texte;
return $texte;
}
function ajout_pipelines_perso($texte){
$spip_pipeline['pre_typo'][]="sautligne_pre_typo";
return $texte;
}
$spip_pipeline['insert_head'][]="ajout_pipelines_perso";
Répondre à ce message
# Le 20 août 2007 à 16:18, par christophe
En réponse à : astuce plus clean pour la 1.92b
modification du noyau : ajouter dans ecrire/inc/texte.php après la ligne 482 les 2 lignes suivantes :
$letexte = trim($letexte) ;
$letexte = post_autobr($letexte) ;
nb : exploitation de la fct « post_autobr » définie dans ecrire/inc/filtre.php
permet de résoudre le pb sur le frontoffice comme sur le backoffice
Répondre à ce message
# Le 13 septembre 2006 à 12:20, par Jujubre
En réponse à : Retours à la ligne fidèles à l’article rédigé
J’ai fait un plugin qui evitera d’avoir amodifier le noyau de spip.
Ce plugin attend sa v alidation, et je mettrai un lien vers l’article depuis ici.
Répondre à ce message
# Le 20 août 2006 à 12:46, par di2
En réponse à : Retours à la ligne fidèles à l’article rédigé
merci ! _ ;o)
Répondre à ce message
# Le 12 août 2006 à 01:44, par fulvio
En réponse à : Retours à la ligne fidèles à l’article rédigé
vraiment utile, merci ! Ca évite de mettre des br pour forcer le retour... comprends pas pourquoi il n’y avait rien à ce propos avant.
Répondre à ce message