summaryrefslogtreecommitdiff
path: root/it_html.class
diff options
context:
space:
mode:
authorUrban Müller2016-06-28 14:27:28 +0200
committerUrban Müller2016-06-28 14:27:28 +0200
commita165bf3c9b399456b9e411825e298cff5940efea (patch)
treef6f464ced0b2f33e7f8a84416fc0f78c3180e7b0 /it_html.class
parent51eacd349ad58f74914fa3339fccdf53af59b6ce (diff)
downloaditools-a165bf3c9b399456b9e411825e298cff5940efea.tar.gz
itools-a165bf3c9b399456b9e411825e298cff5940efea.tar.bz2
itools-a165bf3c9b399456b9e411825e298cff5940efea.zip
fix urls with double ?
Diffstat (limited to 'it_html.class')
-rw-r--r--it_html.class1
1 files changed, 1 insertions, 0 deletions
diff --git a/it_html.class b/it_html.class
index 9db8893..3537707 100644
--- a/it_html.class
+++ b/it_html.class
@@ -540,6 +540,7 @@ static function U(/* ... */)
if (!($u = @parse_url($base)))
list($u['path'], $u['query']) = explode("?", $base, 2);
+ $u['query'] = strtr($u['query'], array("?" => rawurlencode("?")));
$u['host'] = preg_match('/[^-_.0-9a-z]/i', $u['host']) && function_exists('idn_to_ascii') && ($idnahost = idn_to_ascii($GLOBALS['it_html']->p['charset'] == "iso-8859-1" ? utf8_encode($u['host']) : $u['host'])) ? $idnahost : $u['host']; # Punycode hostname to include into webpage
$u['host'] = preg_replace_callback('/[^-_.0-9a-z\x80-\xff]/i', function($m) { return rawurlencode($m[0]); }, $u['host']); # Encode garbage chars in host