Foros del Web » Programando para Internet » PHP »

Incluir etiqueta HTML en una cadena

Estas en el tema de Incluir etiqueta HTML en una cadena en el foro de PHP en Foros del Web. Buenas!! Me estoy adentrando en el mundo del PHP y MySQL, y me ha surgido una duda un tanto complicada. Os cuento: Tengo 2 campos ...
  #1 (permalink)  
Antiguo 16/06/2009, 10:04
 
Fecha de Ingreso: junio-2009
Mensajes: 5
Antigüedad: 14 años, 10 meses
Puntos: 0
Incluir etiqueta HTML en una cadena

Buenas!!

Me estoy adentrando en el mundo del PHP y MySQL, y me ha surgido una duda un tanto complicada. Os cuento:

Tengo 2 campos en mi BD (uno de descripción y otro una dirección de una imagen, ambos son varchar). Bueno, el caso es que en mi pagina de php los muestro con la orden:

echo nl2br($rs["descripcion"]);
(para que me muestre los intros introducidos en un formulario previo)

echo $rs["foto2"];
(la foto)

Bien, yo provengo del diseño de web en HTML y me gustaba cuando hacía mi página y en mitad de un texto podía insertar la etiqueta de imagen y, alineandola, me mostraba una página con texto adaptandose a la forma de la imagen (vamos como una página de una revista, etc..)

la duda es la siguiente: ¿es posible que en el texto que tengo en el campo "descripcion", en el caracter "X" pueda insertar la etiqueta HTML incluyendo la imagen del campo "foto2"?.

Está claro que podría incluir la imagen escribiendo la etiqueta en el textarea donde escribo el campo "descripción", pero el usuario final no tiene ni idea de HTML, y lo que busco en sí es trabajar con la presentación de los datos y no tanto con inclusiones de etiquetas en registros de la BD.

No quiero introducir etiquetas HTML en la BD, la idea es trabajar la pagina que muestra los datos. He estado mirando algo por ahí y entiendo que ser alguna cosa con cadena de caracteres pero me pierdo...

Muchas gracias por vuestro tiempo.
Saludos!! y enhorabuena por el foro
  #2 (permalink)  
Antiguo 16/06/2009, 10:19
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Incluir etiqueta HTML en una cadena

No se si es esto lo que buscas....

Texto del usuario
Lorem Ipsum [IMAGEN] Lorem Ipsum....

Guardamos el texto en un campo de la base de datos.
Imagen del usuario
myphoto.gif

Guardamos la imagen en otro campo de la base de datos.
Ahora cuando vayamos a pintar el texto, sustituimos la etiqueta [IMAGEN] por la etiqueta HTML correspondiente con la imagen que proporciono el usuario.

Código PHP:

// $texto es el texto obtenido de la bbdd
// $img es la imagen obtenida de la bbdd

$etiqueta_img '<img src=\"'.$img.'\">';
// Explicacion de str_replace($cadena_buscada, $cadena_sustituta, $cadena_original)
$texto_con_etiqueta str_replace('[IMAGEN]'$etiqueta_img$texto);

echo 
$texto_con_etiqueta;

// Debería pintar "Lorem Ipsum <img src="myphoto.gif"> Lorem Ipsum...." 
fuente: http://es.php.net/manual/es/function.str-replace.php

Saludos!
  #3 (permalink)  
Antiguo 16/06/2009, 10:25
 
Fecha de Ingreso: junio-2009
Mensajes: 5
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Incluir etiqueta HTML en una cadena

Bueno, he encontrado algo que me sirve, pero todavia quiero rizar el rizo.

Código PHP:
<?    
$auxdes
=nl2br($rs["descripcion"]);
$posi=strpos($auxdes,chr(13));
$auxdes=substr($auxdes,0,$posi) . "<img src='img/".$rs["foto2"]."' align='right' hspace='10' vspace='10'/><br>" substr($auxdes,$posi+2,strlen($auxdes)-$posi);
                            
echo 
$auxdes;
                            
?>
Lo que he conseguido es que me meta la imagen en el primer cambio de carro, pero ¿como hacerlo para que meta otra imgen en el 4º o 5º cambio de carro?¿o en un "espacio" en concreto?

Saludos

Última edición por Shaggymen; 16/06/2009 a las 10:25 Razón: modificar codigo
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 22:57.