X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=banana%2Fmisc.inc.php;h=15997aa59bfb0b4c82837b74b1c1bf3bf2fba927;hb=39816f8b637dbd80dc1a64f1a04adb4f3cf24a9f;hp=d90ba5681661fa99e1a0f6fe44723756e23f59e3;hpb=1f75b1350fd60457b8308230e910d6841766de1d;p=banana.git diff --git a/banana/misc.inc.php b/banana/misc.inc.php index d90ba56..15997aa 100644 --- a/banana/misc.inc.php +++ b/banana/misc.inc.php @@ -14,7 +14,7 @@ function _b_($str) { return utf8_decode(dgettext('banana', utf8_encode($str))); } function to_entities($str) { - require_once 'banana/utf8.php'; + require_once dirname(__FILE__).'/utf8.php'; return utf8entities(htmlentities($str, ENT_NOQUOTES, 'UTF-8')); } @@ -267,14 +267,23 @@ function formatbody($_text, $format='plain') $res = preg_replace("/ (<|>|") /", "\\1", $res); if ($format == 'html') { - return $res; + $res = preg_replace("@(

)\n?-- \n?(]*>|
)@", "\\1
-- \\2", $res); + $res = preg_replace("@
\n?-- \n?(]*>)@", "
--
\\2", $res); + $parts = preg_split("@(:?]*>\n?-- \n?

|]*>\n?-- \n?
)@", $res); + } else { + $parts = preg_split("/\n-- ?\n/", $res); } - $parts = preg_split("/\n-- ?\n/", $res); - if (count($parts) > 1) { - $sign = "
" . array_pop($parts);
-        return join("\n-- \n", $parts).$sign;
+        $sign  = array_pop($parts);
+        if ($format == 'html') {
+            $res  = join('
--
', $parts); + $sign = '
'.$sign; + } else { + $res = join('\n-- \n', $parts); + $sign = '

'.$sign;
+        }
+        return $res.$sign;
     } else {
         return $res;
     }