From cf4c8481991aa2f5160b716aee8b9c6b16ab33c1 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Fri, 15 Jul 2005 15:44:43 +0000
Subject: [PATCH] =?UTF-8?q?correction=20du=20bug=20de=20"textebrut"=20qui?=
 =?UTF-8?q?=20mangeait=20les=20"=C3=A0"=20utf-8=20sous=20windows=20En=20fa?=
 =?UTF-8?q?it,=20l'expression=20[[:space:]]=20de=20PCRE=20sous=20windows?=
 =?UTF-8?q?=20contient=20le=20carat=C3=A8re=20160=20sauf=20si=20on=20passe?=
 =?UTF-8?q?=20en=20/u=20(unicode)=20C'est=20peut-=C3=AAtre=20=C3=A0=20g?=
 =?UTF-8?q?=C3=A9n=C3=A9raliser=20:(?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/inc_filtres.php3 | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/ecrire/inc_filtres.php3 b/ecrire/inc_filtres.php3
index cedd4dbc0e..2b2b48d729 100644
--- a/ecrire/inc_filtres.php3
+++ b/ecrire/inc_filtres.php3
@@ -98,8 +98,10 @@ function texte_backend($texte) {
 	$texte = filtrer_entites($texte);
 
 	// " -> &quot; et tout ce genre de choses
+	// contourner bug windows ou char(160) fait partie de la regexp \s
+	$u = (lire_meta('charset')=='utf-8') ? 'u':'';
 	$texte = str_replace("&nbsp;", " ", $texte);
-	$texte = preg_replace("/[[:space:]][[:space:]]+/", " ", $texte);
+	$texte = preg_replace("/\s\s+/$u", " ", $texte);
 	$texte = entites_html($texte);
 
 	// verifier le charset
@@ -140,7 +142,8 @@ function echapper_tags($texte, $rempl = "") {
 
 // Convertit un texte HTML en texte brut
 function textebrut($texte) {
-	$texte = preg_replace("/[[:space:]]+/", " ", $texte);
+	$u = (lire_meta('charset')=='utf-8') ? 'u':'';
+	$texte = preg_replace("/\s+/$u", " ", $texte);
 	$texte = preg_replace("/<(p|br)( [^>]*)?".">/i", "\n\n", $texte);
 	$texte = preg_replace("/^\n+/", "", $texte);
 	$texte = preg_replace("/\n+$/", "", $texte);
-- 
GitLab