From 9d73088366db1872bbbe090bbedc5ed56d7e4b5a Mon Sep 17 00:00:00 2001 From: Fil <fil@rezo.net> Date: Thu, 24 Mar 2005 20:14:36 +0000 Subject: [PATCH] =?UTF-8?q?Corriger=20les=20caract=C3=A8res=20de=20contr?= =?UTF-8?q?=C3=B4le=20ill=C3=A9gaux=20en=20W3C-land,=20et=20inutiles=20ail?= =?UTF-8?q?leurs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecrire/inc_filtres.php3 | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ecrire/inc_filtres.php3 b/ecrire/inc_filtres.php3 index d6b57c9c15..dbaad0ba94 100644 --- a/ecrire/inc_filtres.php3 +++ b/ecrire/inc_filtres.php3 @@ -47,6 +47,13 @@ function entites_unicode($texte) { return charset2unicode($texte); } +// caracteres de controle - http://www.w3.org/TR/REC-xml/#charsets +function supprimer_caracteres_illegaux($texte) { + $from = "\x0\x1\x2\x3\x4\x5\x6\x7\x8\xB\xC\xE\xF\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F"; + $to = str_repeat('-', strlen($from)); + return strtr($texte, $from, $to); +} + // Nettoyer les backend function texte_backend($texte) { @@ -163,6 +170,9 @@ function corriger_caracteres($texte) { chr(194).chr(133) => '...' ); } + + $texte = supprimer_caracteres_illegaux($texte); + $charset = lire_meta('charset'); if (!$trans[$charset]) return $texte; return strtr($texte, $trans[$charset]); -- GitLab