Bueno, dentro de un sistema que estoy haciendo he puesto para que se puedan poner mensajes, como les puede poner todo el mundo me gustaria que no se puediera escribir codigo de ningun tipo, solo texto, que no se pueda ni JS, ni html, ni ningun otro lenguaje que el navegador pueda interpretar...
He buscado pero no encontre nada en este foro, no se si busque con las palabras adecuadas...
$resultado = htmlentities(htmlspecialchars($entrada));
Saludos
Funciona bien pero solo hay que usar una de las dos funciones.
Habria alguna forma de que todo el codigo html se quitara?
strip_tags
Usa la que te comenta alone, es la mejor
http://ar.php.net/manual/es/function.strip-tags.php
http://ar.php.net/manual/es/function.htmlentities.php
http://ar.php.net/manual/es/function.htmlspecialchars.php
Cita de: Ertai en 17 Abril 2007, 22:24 PM
Usa la que te comenta alone, es la mejor
yo creo qeu si lees un poco el manual de PHP verás que strip_tags no es mejor, además si solo quiere DEJAR SIN EFECTO los tags HTML, per si mostrarlos en el caso de qe sea algún tipo de foro strip_tags no le servirá
y que recomiendas?? :D
o pusiste el post solo para decir que no??
no pued decirle "usa esto" o "usa aquello", como recomendacion le puedo decir que evalue que es lo que necesita. Si necesita mostrar el codigo, pero que no actue como tal qe use
http://ar.php.net/manual/es/function.htmlentities.php
y/o
http://ar.php.net/manual/es/function.htmlspecialchars.php
en cambio, si solo quiere suprimir el codigo, y esta segudo de que el mismo esta bien formado que use
http://ar.php.net/manual/es/function.strip-tags.php
aunqeu hay que tener en cuenta la advertencia de php.net al usar strip_tags:
Citar
Aviso
La función no valida el código HTML pasado, asi que puede suceder que si existen etiquetas HTML mal construidas o no cerradas, el resultado puede presentar texto y datos eliminados.
Citar
Aviso
Debe tenerse en cuenta que la funció no modifica los atributos de las etiquetas que se permiten mediante el parámetro etiquetas_permitidas, por lo que un usuario con malas intenciones podrí incluir atributos como style y onmouseover cuando envía información a sitios como un foro de discusión.
Si lees bien el primer post, verás que se pide la eliminación de TODAS las etiquetas. Solamente texto.
bueno, si nos ponemos en rompebolas y lebuscamos la quinta pata al gato puedo decirte que el pide "que no se peuda escribir codigo", y con strip-tags y las otras funciones lo que se ahce es quitar o "no interpretar" el codigo, pero d ningun modo impide que el miso sea ingresado. para impedir la escritura en tiempo real habria que usar JS y hacer una buena rutina que compruebe si se esta escribiendo codigo.....
en fni, como ya dije, si nos ponemos e detallistas y rompe bolas ninguna de las funciones de php serviria, porque segun KiZaR el quiere "que no se puediera escribir codigo de ningun tipo, solo texto"-
Ertai, no molestes cn posts que no aportan nada, no quieras tener la razón "porque si", KiZaR usará la funcion que mas le convenga. No hay necesidad de desacreditar mi post con rebusques complicados. y por fvor, no repliques mi respuesta, oprque este hilo no es un debate, estamos apra ayudarnos entre todos, yo ya he aoprtado mi granito de arena, tu el tuyo, ya esta... no hace falta seguir agrandando este hilo con debates de "que quiso o no decir".
PD: Vuelvoa recalcar que strip_tags es "menos segura" en cuato a su funcionamiento ya que puede fallar si la etiqueta no fue cerrada o si es uan etiqueta rara o no cnovencional, tal como lo dice en php.net.
Aprende a leer antes de hablar chico.
strip_tags es una función segura, que borra todo el contenido que haya entre los caracteres de abrir (<) y cerrar (>) los tags en HTML.
Lo que Kizar quería es:
Citar
Funciona bien pero solo hay que usar una de las dos funciones.
Habria alguna forma de que todo el codigo html se quitara?
Despues de probar las funciones que le sugería Martin:
Cita de: M@rT1n en 17 Abril 2007, 05:58 AM
$resultado = htmlentities(htmlspecialchars($entrada));
Saludos
Si responde que no quiere eso, y le sugerimos strip_tags, para que has de hablar y sugerirle otra vez las tres funciones cuando hay dos que ya las ha probado y no es lo que quería?
No malinterpretes las páginas que lees si no las entiendes.
Modera tu lenguaje e intenta escribir correctamente por favor.
Gracias.