function percent_encoding_normalization($match)
{
$integer = hexdec($match[1]);
if ($integer >= 0x41 && $integer <= 0x5a || $integer >= 0x61 && $integer <= 0x7a || $integer >= 0x30 && $integer <= 0x39 || $integer === 0x2d || $integer === 0x2e || $integer === 0x5f || $integer === 0x7e) {
return chr($integer);
} else {
return strtoupper($match[0]);
}
}