Tengo un problema con una lógica y no he podido solucionarlo, digamos que tengo un string del siguiente tipo.
JXpHzkCrdoXD6R59gHqP3%2Fdz8bDzB8aNpze0w6QCE7Q%2F16 jtZ%2F1fx7zHmtQG1UVv%2BI4NDVnygp7FhCfVSAPBsQ%3D%3D
Y tengo la siguiente expresion regular.
/%(\d[A-F]|[A-F]\d)/
Lo que hace es buscar buscar el signo de porcentaje, seguido de un valor hexadecimal de dos caracters, asi que arriba seleccionaria asi:
JXpHzkCrdoXD6R59gHqP3%2Fdz8bDzB8aNpze0w6QCE7Q%2F16jtZ%2F1fx7zHmtQG1UVv%2BI4NDVnygp7FhCfVSAPBsQ%3D%3D
Necesito convertir esas selecciones a lowercase. Pero aun no encuentro como hacerlo, actualmente mi función luce asi:
Código PHP:
private function preg_replace_matches(array $matches){
return strtolower($matches[0]);
}
private function encode_urlvariables($urlvariable){
$first_encode= urlencode($urlvariable);
$encoded_variable= preg_replace_callback('/%(\d[A-F]|[A-F]\d)/', 'preg_replace_matches', $first_encode);
return $encoded_variable;
}