From 9c138e36890ac9c24a31b6d6c0900b3ac6f78327 Mon Sep 17 00:00:00 2001 From: toggg <bertrand@toggg.com> Date: Wed, 4 Apr 2007 20:19:59 +0000 Subject: [PATCH] Nettoyage de l'ancre dans ancre_url() --- ecrire/inc/utils.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php index efc1d34f37..2a0c40d2f1 100644 --- a/ecrire/inc/utils.php +++ b/ecrire/inc/utils.php @@ -338,14 +338,18 @@ function parametre_url($url, $c, $v=NULL, $sep='&') { return $a . $ancre; } -// -// Prend une URL et lui ajoute/retire une ancre. -// http://doc.spip.org/@ancre_url +// Prend une URL et lui ajoute/retire une ancre après l'avoir nettoyee +// pour l'ancre on translitere, vire les non alphanum du debut, +// et on remplace ceux a l'interieur ou au bout par - +// http://doc.spip.org/@ancre_url replace{} function ancre_url($url, $ancre) { + include_spip('inc/charsets'); // lever l'#ancre if (preg_match(',^([^#]*)(#.*)$,', $url, $r)) { $url = $r[1]; } + $ancre = preg_replace(array('/^[^-_a-zA-Z0-9]+/', '/[^-_a-zA-Z0-9]/'), array('', '-'), + translitteration($ancre)); return $url .'#'. $ancre; } -- GitLab