From 664db9984a1f6f3c2bd308546167df9eea1f95ac Mon Sep 17 00:00:00 2001 From: Fil <fil@rezo.net> Date: Tue, 24 Feb 2009 15:13:05 +0000 Subject: [PATCH] Transformer les caracteres utf8 d'une URL (farsi par ex) selon la RFC 1738 --- ecrire/balise/url_.php | 2 +- ecrire/inc/utils.php | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ecrire/balise/url_.php b/ecrire/balise/url_.php index dd1e4fa73a..a5f8800c3f 100644 --- a/ecrire/balise/url_.php +++ b/ecrire/balise/url_.php @@ -58,7 +58,7 @@ function generer_generer_url_arg($type, $p, $_id) } else $s = ", '', '', true"; - return "generer_url_entite($_id, '$type'$s)"; + return "urlencode_1738(generer_url_entite($_id, '$type'$s))"; } diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php index 61a5971eea..66e8cfc67a 100644 --- a/ecrire/inc/utils.php +++ b/ecrire/inc/utils.php @@ -804,6 +804,14 @@ function generer_url_entite($id='', $entite='', $args='', $ancre='', $public=NUL return ''; } +// Transformer les caracteres utf8 d'une URL (farsi par ex) selon la RFC 1738 +function urlencode_1738($url) { + return str_replace( + array('%2F','%3D','%3F','%26'), + array('/' ,'=' ,'?' ,'&'), + rawurlencode($url)); +} + // http://doc.spip.org/@generer_url_entite_absolue function generer_url_entite_absolue($id='', $entite='', $args='', $ancre='', $connect=NULL) { -- GitLab