Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Cómo aplicar estilos dentro de <textarea> generado con PHP

5 de marzo de 2015

Hola, tengo este textarea en los que saco de la base de datos con un foreach los resultados: La pregunta es como hacer que $row["user"] salga en negrita (por ejemplo)

<textarea name='area' cols='100' rows='20' id='texti'   readonly style='resize: none;'>
     <?php  foreach ($resultado as $row) {
        echo "\n".$row['Hora'];
        echo " " .$row["user"];
        echo ": ";
        echo $row['Texto']."\n";
    } ?>
</textarea>

Respuestas

#1

No es posible hacer lo que quieres. El contenido de un <textarea> es como una cadena de texto sin estilo. Si añades por ejemplo un elemento <span> o <strong> a alguna parte de los contenidos del <textarea>, en el navegador verás las etiquetas HTML en vez de los estilos que quieres.

Los editores WYSIWYG avanzados utilizan JavaScript para crear un <div> por encima del <textarea>, de manera que lo que escribe el usuario se guarda con las etiquetas HTML en el <textarea>, pero el texto bonito con los estilos se crea dinámicamente en el <div> que está por encima y que tapa al <textarea>.

Obviamente no te recomiendo el truco del <div> + <textarea> porque es demasiado trabajo para el problema que planteas. En tu caso la solución es tan sencilla como no aplicar esos estilos o cambiar el <textarea> por un elemento <table> por ejemplo.

@javiereguiluz

5 marzo 2015, 13:04