elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Mostrar html como texto menos los enlaces
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Mostrar html como texto menos los enlaces  (Leído 2,528 veces)
sexto

Desconectado Desconectado

Mensajes: 200


Ver Perfil
Mostrar html como texto menos los enlaces
« en: 31 Enero 2014, 13:09 pm »

A ver como lo explico.
Tengo una web con el envío de un formulario, y en el campo del contenido quiero puedas poner código html si quieres, pero que luego el navegador me saque ese código html tal cual (no lo interprete), pero que los enlaces sí que los interprete.
He hecho una función que si escribes un enlace, lo convierta a un enlace html, es decir, que si alguien escribe www.google.es, luego en código saldrá <a href="http://www.google.es" target="_blank">www.google.es</a>.

El caso es, he conseguido hacer lo que quiero, pero luego los acentos y las ñ me saca símbolos raros por muchos utf8 decodes y encondes que ponga, también he conseguido que me saque los enlaces poniendo la función esa para convertirlos a la hora de mostrarlos y no de guardarlos y luego poniendo a la hora de guardarlo pasarlo por esta función:
Código
  1. function sanitize_text($text)
  2. {
  3. }
  4.  

Pero me quita las etiquetas html que pongo y me pone barras invertidas antes de las comillas.
¿Hay alguna forma de que me funcione todo lo que tiene que funcionar sin volverme loco?
Es decir, que me muestre el código html que se introduzca pero tal cual, que no me meta las barras del demonio antes de las comillas, que no me quite las etiquetas y que no me cambie los acentos y eñes por cosas raras.

Gracias.


En línea

:ohk<any>


Desconectado Desconectado

Mensajes: 1.744


Yo lo que quiero que me salga bien es la vida.


Ver Perfil WWW
Re: Mostrar html como texto menos los enlaces
« Respuesta #1 en: 31 Enero 2014, 19:42 pm »

No estoy seguro de haberte entendido bien, pero para recibir un texto y luego hacer que el navegador lo interprete solo debes hacer esto:

Al recibir la variable:

Código
  1. function sanitize_text_in($text)
  2. {
  3.    return htmlspecialchars($text, ENT_QUOTES);
  4. }
  5.  

Al mostrar la variable:

Código
  1. function sanitize_text_out($text)
  2. {
  3.    return htmlspecialchars_decode($text, ENT_QUOTES);
  4. }
  5.  

Y ya.

Si pones el addslashes cada ves que haya un ' se pondrá automáticamente un \
Es la función de esa función :P

Saludos


En línea

Y es que a veces pienso que si no estuviera loco no podría salir adelante.
Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines