diff --git a/ecrire/inc_texte.php3 b/ecrire/inc_texte.php3 index 077b07cbac347bdd46440d7ed304d140bbe048d9..f46286f3f51d2cbe78c72032b8921fd304b538b5 100644 --- a/ecrire/inc_texte.php3 +++ b/ecrire/inc_texte.php3 @@ -103,7 +103,7 @@ function spip_apres_typo ($letexte) { if (function_exists('apres_typo')) $letexte = apres_typo($letexte); - return $letexte; + return quote_amp($letexte); } diff --git a/ecrire/inc_version.php3 b/ecrire/inc_version.php3 index e64d27201202b487181c935baf66b40839df0b23..e54d37307bd08bb7b4109069d4361465f7effb98 100644 --- a/ecrire/inc_version.php3 +++ b/ecrire/inc_version.php3 @@ -844,11 +844,11 @@ class Link { $clean_link = new Link(); -// URLs avec passage & -> & -function quote_amp ($url) { - $url = str_replace("&", "&", $url); - $url = str_replace("&", "&", $url); - return $url; +// transformation XML des "&" en "&" +function quote_amp($u) { + return preg_replace( + "/&(?![a-z]{0,4}\w{2,3};|#x?[0-9a-f]{2,5};)/i", + "&",$u); }