From c21c649a65e64bb49bbd9fe8914b64ec7cb1ff3f Mon Sep 17 00:00:00 2001 From: Fil <fil@rezo.net> Date: Sat, 3 May 2008 09:21:07 +0000 Subject: [PATCH] bug dans entites_html() lorsqu'on contient un {{{<code></code>}}} ou autre : il ne fallait pas dans ce cas ajouter les sauts de ligne (paolo) --- ecrire/inc/texte.php | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/ecrire/inc/texte.php b/ecrire/inc/texte.php index 961a3351f2..2e9bcaf19e 100644 --- a/ecrire/inc/texte.php +++ b/ecrire/inc/texte.php @@ -139,13 +139,12 @@ function nettoyer_chapo($chapo){ // une $source differente ; le script detecte automagiquement si ce qu'on // echappe est un div ou un span // http://doc.spip.org/@code_echappement -function code_echappement($rempl, $source='') { +function code_echappement($rempl, $source='', $no_transform=false) { if (!strlen($rempl)) return ''; // Tester si on echappe en span ou en div $mode = preg_match(',</?('._BALISES_BLOCS.')[>[:space:]],iS', $rempl) ? 'div' : 'span'; - $nn = ($mode == 'div') ? "\n\n" : ''; $return = ''; // Decouper en morceaux, base64 a des probleme selon la taille de la pile @@ -153,12 +152,16 @@ function code_echappement($rempl, $source='') { for($i = 0; $i < strlen($rempl); $i += $taille) { // Convertir en base64 $base64 = base64_encode(substr($rempl, $i, $taille)); - $return .= - inserer_attribut("<$mode class=\"base64$source\">", 'title', $base64) - ."</$mode>"; + $return .= inserer_attribut("<$mode class=\"base64$source\">", + 'title', $base64) ."</$mode>"; } - return $return . $nn; + return $return + . ((!$no_transform AND $mode == 'div') + ? "\n\n" + : '' + ); +; } // Echapper les <html>...</ html> @@ -244,7 +247,7 @@ $preg='') { $echap = $f($regs); $letexte = str_replace($regs[0], - code_echappement($echap, $source), + code_echappement($echap, $source, $no_transform), $letexte); } -- GitLab