Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Alex_bro en 11 Abril 2009, 16:03 pm



Título: Que falla en la funcion?
Publicado por: Alex_bro en 11 Abril 2009, 16:03 pm
Buenas, tengo una funcion de limpiado de variables que me da problemas... es esta:
Código
  1. function limpiar($var,$cars=''){
  2.            $cars_ok = '/[^a-zA-Z0-9'.preg_quote($cars,'/').']/i';
  3.            $var = preg_replace($cars_ok,'',$var);
  4.        return $var;
  5. }
Al llamarla de la siguiente manera:
Código
  1. $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...