Ayuda con Preg_Replace

Iniciado por Ch3ck, 3 Noviembre 2010, 23:04 PM

0 Miembros y 1 Visitante están viendo este tema.

Ch3ck

Saludos, tengo un problema eliminando unos caracteres en HEXA de una cadena, por ejemplo tengo:

$string = '%22APPLE%20MACHINES%22';
$string = preg_replace('/%([0-9A-F]+)/', ' ', $string);
echo $string;


Lo cual devuelve:

PPLE MACHINES

Alguien me podria ayudar diciendome como le pongo un limite de 3 caracteres para que no borre la primera A? es decir que solo borre el % y los dos siguientes caracteres, es decir %22 o %A3, debo aclarar que el string puede cambiar.

Gracias!

Shell Root

Creo que es así,
Código (PoC) [Seleccionar]
%([0-9A-F]){1,2}
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Ch3ck

Diste en el punto Shell Root... Muchisimas gracias!!

Shell Root

Pero te complicas mucho, para eso php tiene funciones nativas, por ejemplo
string urldecode ( string $str )

Usage:
Código (php) [Seleccionar]
$sCadena = '%22APPLE%20MACHINES%22';
echo urldecode($sCadena)."\n";
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.