diff --git a/library/HTMLPurifier/ConfigSchema/schema.ser b/library/HTMLPurifier/ConfigSchema/schema.ser index 1e6ccd22..e47dab83 100644 Binary files a/library/HTMLPurifier/ConfigSchema/schema.ser and b/library/HTMLPurifier/ConfigSchema/schema.ser differ diff --git a/library/HTMLPurifier/ConfigSchema/schema/URI.UnescapeCharacters.txt b/library/HTMLPurifier/ConfigSchema/schema/URI.UnescapeCharacters.txt new file mode 100644 index 00000000..ce5e7e40 --- /dev/null +++ b/library/HTMLPurifier/ConfigSchema/schema/URI.UnescapeCharacters.txt @@ -0,0 +1,9 @@ +URI.UnescapeCharacters +TYPE: string/null +DEFAULT: NULL +--DESCRIPTION-- + +
+ Defines characters that won't be escape by HTMLPurifier_URI. +
+--# vim: et sw=4 sts=4 \ No newline at end of file diff --git a/library/HTMLPurifier/URI.php b/library/HTMLPurifier/URI.php index a5e7ae29..d5fdfb9a 100644 --- a/library/HTMLPurifier/URI.php +++ b/library/HTMLPurifier/URI.php @@ -106,7 +106,7 @@ class HTMLPurifier_URI public function validate($config, $context) { // ABNF definitions from RFC 3986 - $chars_sub_delims = '!$&\'()*+,;='; + $chars_sub_delims = '!$&\'()*+,;='.$config->get('URI.UnescapeCharacters');; $chars_gen_delims = ':/?#[]@'; $chars_pchar = $chars_sub_delims . ':@';