[spip-dev] <code></code> "mange" les premiers espaces de la chaine.

Bonjour,

Je suis nouveau sur la liste, je viens de mettre en place le site
http://www.cervelle.net/ et je rencontre un petit problème avec la
balise <code>. Problème dont je n'ai pas retrouvé mention après une
rapide recherche dans les archives de la liste.

J'utilise spip 1.6 et le dernier BioSPIP.

L'utilisation de la fonction trim() rend impossible l'affichage fidèle
d'ascii-art, qu'il me semble les balises <code></code> devraient rendre
possible,

J'ai donc modifié ainsi la fonction echappe_html() :

--- inc_texte.php3.old 2003-06-29 17:25:44.000000000 +0200
+++ inc_texte.php3 2003-06-29 17:26:25.000000000 +0200
@@ -163,7 +163,7 @@

       // ne pas mettre le <div...> s'il n'y a qu'une ligne
       if (is_int(strpos($lecode,"\n")))
- $lecode = nl2br("<div align='left' class='spip_code'>".trim($lecode)."</div>");
+ $lecode = nl2br("<div align='left' class='spip_code'>".$lecode."</div>");

       $lecode = ereg_replace("\t", "&nbsp; &nbsp; &nbsp; &nbsp; ", $lecode);
       $lecode = ereg_replace(" ", " &nbsp;", $lecode);

Bonne remarque. Je vais corriger dans la version CVS. Merci.

-- Fil

@ Jean Charles Delepine <delepine@u-picardie.fr> :

Heu, justement le trim() est ajouté volontairement afin de supprimer
les retours chariot superflus (en général pour plus de lisibilité
on passe à la ligne après le <code> et avant le </code>, or il ne faut
pas que ça se répercute dans la mise en page).

Si on veut laisser passer l'Ascii-art (pfff...) il faut néanmoins
trouver quelque chose de plus subtil que de désactiver le trim().

Si on veut laisser passer l'Ascii-art (pfff...) il faut néanmoins
trouver quelque chose de plus subtil que de désactiver le trim().

$data = ereg_replace("<code>(\n|\r)*", "<code>", $data);
$data = ereg_replace("(\n|\r)*</code>", "</code>", $data);

Pas vraiment "subtil", mais bon, ça devrait faire l'affaire ... :wink:

-Nicolas

> Si on veut laisser passer l'Ascii-art (pfff...) il faut néanmoins
> trouver quelque chose de plus subtil que de désactiver le trim().

Cf. patch sur spip-commit

-- Fil