Que falla en la funcion?

Iniciado por Alex_bro, 11 Abril 2009, 16:03 PM

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

Alex_bro

Buenas, tengo una funcion de limpiado de variables que me da problemas... es esta:
Código (php) [Seleccionar]
function limpiar($var,$cars=''){
            $cars_ok = '/[^a-zA-Z0-9'.preg_quote($cars,'/').']/i';
            $var = preg_replace($cars_ok,'',$var);
        return $var;
}

Al llamarla de la siguiente manera:
Código (php) [Seleccionar]
$name = limpiar($name,')(@-_.,!$?¿ ');
Esto deberia hacer que admitiera letras, numeros y todos los caracteres que se muestran: )(@-_.,!$?¿
Pero sin embargo tambien pasa como bueno los corchetes [], el simbolo ^ y mil cosas que no sabre...
Que le ocurre?

Gracias :D

Solucionado:
Solo hay que escapar el caracter - porque lia al motor de expresiones...