The Word of the Lord

The Word of the Lord

BroadCasts Religious

MuniManantay

MuniManantay

Municipalidad de Manantay

Deluxe Kool Decking

Deluxe Kool Decking

Reconstruction Decking

Abogado Garza

Abogado Garza

Lawyer Web Page

Oct
06

Limpiar cadena de caracteres raros en php

Escrito por Carlos Montalvo hace 2 meses y 3 semanas, archivado en Desarrollo Web

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);
Tags: ,

Entradas Relacionadas:

Se Referencio:

Comparte esta noticia:

7 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

    Con Camino Camino 1.6.4 y Mac OS Mac OS X


    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 ;)

    Con Mozilla Firefox Mozilla Firefox 2.0.0.12 y Mac OS Mac OS X


    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>”;

    Con Camino Camino 1.6.4 y Mac OS Mac OS X


    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

    Con Mozilla Firefox Mozilla Firefox 2.0.0.12 y Mac OS Mac OS X


    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 ^_^

    Con Mozilla Firefox Mozilla Firefox 3.0.3 y Ubuntu Linux Ubuntu Linux


    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 ^_^

    Con Mozilla Firefox Mozilla Firefox 3.0.3 y Ubuntu Linux Ubuntu Linux


    7

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

    Con Internet Explorer Internet Explorer 7.0 y Windows Windows XP


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.