Foros del Web » Programando para Internet » PHP »

evitar etiquetas html

Estas en el tema de evitar etiquetas html en el foro de PHP en Foros del Web. Hola, tengo una variable php con contenido html que quiero pasar a un textarea y no sé cómo hacer que no me salgan las etiquetas: ...
  #1 (permalink)  
Antiguo 12/09/2008, 14:38
 
Fecha de Ingreso: agosto-2008
Mensajes: 52
Antigüedad: 15 años, 7 meses
Puntos: 0
evitar etiquetas html

Hola, tengo una variable php con contenido html que quiero pasar a un textarea y no sé cómo hacer que no me salgan las etiquetas:

variable:

$enla="http://www.manager.net/enc/area_colaboradores.php?tu=$error&idusuario=$idusua rio&usuario=$usuario&nc=$nc";
$enlace="<a href='$enla'>manager</a>"; //tu=tipousuario,la variable error nos da el tipo de usuario, nc=nombrecolaborador
$textopredefinido="Sr/Sra $nombreapellidos<br><br><b>".$row["nombre"]." " .$row["apellidos"]."</b> está realizando una Encuesta para Manager, y necesita que usted realice también dicha Encuesta.";
//$mail->Body = "$textopredefinido<br><br>Para acceder a su área de usuario, haga clic en el siguiente enlace: <br><br><a href="localhost/enc/encuesta.php?tu=error&usuario=usuario&nc=nc">manag er</a><br><br>Si el enlace no funciona, copie la dirección y péguela en la barra de direcciones del navegador.<br><br><br>Gracias por su colaboración";
$textocompleto="$textopredefinido<br><br>Para acceder a su área de usuario, haga clic en el siguiente enlace: <br><br>$enlace<br><br><br>Gracias por su colaboración";

textarea:

<textarea name="texto" id="texto" style="position:absolute; left:110px; top:257px; width:572px; height:185px; z-index:1" rows="5" cols="55" ><? echo htmlentities (nl2br ($textocompleto));?></textarea>

El texto aparece así:

Sr/Sra <br><br><b>lolá ruíz camacho</b> está realizando una Encuesta para Manager, y necesita que usted realice también dicha Encuesta.<br><br>Para acceder a su área de usuario, haga clic en el siguiente enlace: <br><br><a href='http://www.manager.net/enc/area_colaboradores.php?tu=jefe1&idusuario=2&usuari [email protected]&nc='>manager</a><br><br><br>Gracias por su colaboración

Gracias de antemano
  #2 (permalink)  
Antiguo 12/09/2008, 15:31
 
Fecha de Ingreso: enero-2008
Mensajes: 163
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: evitar etiquetas html

bueno yo creo que el problema enlugar de <br> utiliza \n si vas hacer salto de linea =)
  #3 (permalink)  
Antiguo 12/09/2008, 15:32
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: evitar etiquetas html

Usa la funcion strip-tags http://www.php.net/manual/es/function.strip-tags.php

Saludos!
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #4 (permalink)  
Antiguo 13/09/2008, 14:51
 
Fecha de Ingreso: agosto-2008
Mensajes: 52
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: evitar etiquetas html

Lo he probado y ahora en el textarea se ve bien pero me ha surgido otro problema.

Después de que el texto aparezca en el textarea va a parar a una variable, que es usada como texto de un mail, en el cuálaparece todo seguido, sin saltos de carro, el enlace aparece como texto normal..

No sé si hay alguna función que sea el contrario de strip_tags o si se os ocurre alguna forma de solucionarlo??
  #5 (permalink)  
Antiguo 13/09/2008, 16:31
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: evitar etiquetas html

Si estas enviando el texto como HTML usa <br>.
Dile a la funcion strip_tags que no borre estos.

Y si lo estas enviando como texto plano, deberian aparecer.
  #6 (permalink)  
Antiguo 14/09/2008, 21:01
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: evitar etiquetas html

Cita:
Iniciado por martajg Ver Mensaje
Lo he probado y ahora en el textarea se ve bien pero me ha surgido otro problema.

Después de que el texto aparezca en el textarea va a parar a una variable, que es usada como texto de un mail, en el cuálaparece todo seguido, sin saltos de carro, el enlace aparece como texto normal..

No sé si hay alguna función que sea el contrario de strip_tags o si se os ocurre alguna forma de solucionarlo??
Como menciona Ronruby, si es un mensaje en texto plano el que envías, debe apaecer bien. Lo más seguro es que tu mensaje lo envíes en formato HTML. Para esto, debes aplicarle la función nl2br() a tu variable antes de enviarla. Esto hará que los saltos de línea \n sean convertidos en saltos HTML <br /> que sí puedan ser interpretados por el navegador.
Código php:
Ver original
  1. $var = nl2br($var);
Saludos,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:23.