Scripts
Zelf URL's encoden in PHP
Zelf URLs encoden en decoden, in PHP.
urlencode.php
<?php
function mijn_urlencode($url) : string
{
$hex = [
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'A', 'B', 'C', 'D', 'E', 'F'
];
$buffer = '';
$lengte = strlen($url);
for ($i = 0; $i < $lengte; $i++) {
$c = $url[$i];
if (($c < '0' && $c !== '-' && $c !== '.')
|| ($c > '9' && $c < 'A')
|| ($c > 'Z' && $c < 'a' && $c !== '_')
|| ($c > 'z'))
{
$c = ord($c);
$buffer .= '%' . $hex[$c >> 4] . $hex[$c & 15];
}
else {$buffer .= $c;}
}
return $buffer;
}
rawurlencode.php
<?php
function mijn_rawurlencode($url) : string
{
$hex = [
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'A', 'B', 'C', 'D', 'E', 'F'
];
$buffer = '';
$lengte = strlen($url);
for ($i = 0; $i < $lengte; $i++) {
$c = $url[$i];
if ($c === ' ') {$buffer .= '+';}
elseif (($c < '0' && $c !== '-' && $c !== '.')
|| ($c > '9' && $c < 'A')
|| ($c > 'Z' && $c < 'a' && $c !== '_')
|| ($c > 'z' && $c !== '~'))
{
$c = ord($c);
$buffer .= '%' . $hex[$c >> 4] . $hex[$c & 15];
}
else {$buffer .= $c;}
}
return $buffer;
}
urldecode.php
<?php
function mijn_urldecode($url) : string
{
$buffer = '';
$lengte = strlen($url);
for ($i = 0; $i < $lengte; $i++) {
if ($url[$i] === '%') {
$buffer .= chr(hexdec($url[$i + 1] . $url[$i + 2]));
$i += 2;
}
else { $buffer .= $url[$i]; }
}
return $buffer;
}
Reacties
0