iCarsOnline

iCarsOnline

your online auto source!

Reaching in to Heaven

Reaching in to Heaven

Artistic Expression

MayaSpace

MayaSpace

Baby Patron | Web Personal

Gyanamala

Gyanamala

Healing is simple

Oct
06

Esto es una forma de limpiar tu cadena de caracteres no deseados, que nos puede ser util especialmente antes de insercciones a nuestra base de datos o donde necesitemos verificar los datos mandados por el usuario.


function limpiar ($cadena){

	if (empty($cadena)) return false;

//limpiamos todos los caracteres invalidos
	$nueva_cadena = ereg_replace("[^ A-Za-z0-9_]", "", $cadena);

 	return $nueva_cadena;
}

	$cadena = "Esto es un texto de letras, numeros 12345 y caracteres raros !£$%^&";

echo limpiar ($cadena);
Categorizado: Desarrollo Web
Etiquetado: |

Comparte esta noticia:

Articulos Relacionados

8 Valiente(s) Opinaron, falta el tuyo comenta


    Por maeghith el Oct 6, 2008 Responder este comentario
    1

    ¿y los irlandeses?, p.ej.: O’hara

    PD: no reinventemos la rueda: mysql_escape_string, mysql_real_escape_string y add_slashes están para estas cosas


    2

    @maeghith: Te invito a que pruebes la diferencia.

    $cadena = “Esto es un texto de letras, numeros 12345 y caracteres raros !£$%^&”;

    echo limpiar ($cadena).”\n”;

    echo mysql_escape_string($cadena).”\n”;

    echo mysql_real_escape_string($cadena).”\n”;

    echo AddSlashes($cadena).”\n”;

    echo mysql_escape_string(mysql_real_escape_string(AddSlashes($cadena))).”\n”;

    sin mencionar que para usar mysql_real_escape_string y mysql_escape_string necesitamos tener una conexion a una db.

    Gracias por tu comentario ;)


    Por maeghith el Oct 7, 2008 Responder este comentario
    3

    para usar mysql_real_escape_string y mysql_escape_string necesitamos tener una conexion a una db.

    Había entendido que era

    util especialmente antes de insercciones a nuestra base de datos.

    Así que asumo que esa conexión existe.

    Te invito a que pruebes la diferencia.

    Evidentemente que hay diferencias, no he dicho que fuesen a dar el mismo resultado :)

    Pero parece que no has entendido mi comentario sobre el pobre señor O’Hara, irlandés él.

    He probado el código (ni que hiciera falta, con la expresión regular tan facilona en que se basa el filtro, pero tenía un rato :-) ), y aún así insisto en que hay mejores formas de hacer las cosas que reinventar la rueda. De hecho yo te invito a que pruebes tu el siguiente código (espero que no hayas cambiado el filtro de wp por el tuyo ;-) ):

    $cadenas = array(
    “Jim O’Hara”,
    “Abdul-Mu’izz”,
    “Toño Güell Marañón”,
    “Adélaïde Garçon”,
    “Esto es un texto de letras, numeros 12345 y caracteres raros !£$%^&”
    );
    $funciones = array(
    “limpiar”,
    “addslashes”,
    “mysql_escape_string”,
    “mysql_real_escape_string”
    );
    mysql_connect( ‘db’, ‘usr’, ‘***’);

    echo “<pre>\n”;
    foreach( $funciones as $funcion ){
    echo “\n—-”,$funcion,”—–\n”;
    var_dump(
    array_map( $funcion, $cadenas )
    );
    }
    echo “\n</pre>”;


    4

    @maeghith

    @PD: no reinventemos la rueda
    @no he dicho que fuesen a dar el mismo resultado

    Con el echo de decir reinventar la rueda quieres decir que producira el mismo resultado :D .

    @Evidentemente que hay diferencias

    Si hay diferencias no crees que no es reinventar la rueda?

    mysql_real_escape_string y mysql_escape_string cumplen su trabajo para injecciones sql y lo demas?

    Saludos


    Por terseus el Oct 18, 2008 Responder este comentario
    5

    Me parece una forma un poco “radical” de filtrar texto, incluso para una base de datos.

    Hay caracteres que son considerados raros por esa expresión regular, y sin embargo no es conveniente eliminarlos, como ñ, á, ü, â, ‘, etc.

    Imagino que a eso se refiere maeglith ^_^


    Por Terseus el Oct 18, 2008 Responder este comentario
    6

    Me parece una forma un poco radical de filtrar texto, incluso para inserciones a una base de datos.

    Hay caracteres que son considerados “raros” por esa expresión regular pero que no es conveniente eliminar, como ñ, á, ü, ‘, etc.

    Imagino que es a eso a lo que se refiere maeglith ^_^


    7

    Инфа что надо!


    Por victor el Oct 22, 2009 Responder este comentario
    8

    No creo que sea reinventar la rueda, andaba buscando una función que me permitiera limpiar una cadena que pudiera utilizar como nombre de archivo, creo que es sencilla de modificar para utilizarla con mis propositos, mientras que con la función de mysql, no me parece posible.
    Cada cosa para lo que es

    Con Mozilla Firefox 3.5.3 y Linux


Danos tu opinion sobre esta noticia.

CalinSoft se reserva el derecho de eliminar o editar todo comentario que considere ofensivo o difamatorio. Debatir, criticar NO ES INSULTAR.