Etiqueta HTML <plaintext>
El contenido de la etiqueta <plaintext> se muestra como texto ordinario sin formato. Descripción y ejemplos de uso.
La etiqueta <plaintext> indica al navegador que muestre todo lo que le sigue como texto ordinario, sin ningún formato HTML. Cuando el analizador encuentra esta etiqueta, cambia al modo de texto sin formato y trata todo el contenido posterior del documento como texto plano, ignorando cada etiqueta que venga después.
Obsoleta — nunca uses <plaintext>. Ha estado en desuso desde HTML2 y no forma parte de ningún estándar HTML moderno. Los navegadores aún la procesan solo por compatibilidad con versiones anteriores, y su comportamiento es irreversiblemente destructivo (ver a continuación). Para mostrar texto literal, usa <pre> y/o <code> en su lugar.
Por qué <plaintext> es irreversiblemente peligroso
El hecho crítico sobre <plaintext> es que no tiene etiqueta de cierre. No existe un </plaintext> que el navegador reconozca. Una vez que el analizador entra en <plaintext>, consume el resto del documento como texto literal — incluido cualquier marcado que le siga, hasta el final del archivo:
- Todo lo que aparece después de
<plaintext>se muestra como texto sin formato, por lo que cualquier HTML real que hayas escrito después (párrafos, scripts, estilos) se exhibe como código fuente en lugar de renderizarse. - Las etiquetas de cierre
</body>y</html>también son absorbidas como texto, de modo que el documento nunca se cierra correctamente. - No es posible "desactivarlo". No hay forma de salir del modo de texto plano una vez iniciado, razón por la cual un solo
<plaintext>puede romper una página entera.
Por estas razones, <plaintext> debe tratarse como una reliquia que reconocer en código antiguo, no como una herramienta a utilizar.
Si <plaintext> fuera el primer elemento de la página, toda la respuesta del documento se trataría como texto plano. En esa situación, servir el archivo con el tipo MIME text/plain es el enfoque correcto — no esta etiqueta.
Qué usar en su lugar
Para mostrar de forma segura texto literal o código, combina <pre> (que conserva los espacios en blanco y los saltos de línea) con <code> (que marca el texto como código), y escapa los caracteres con significado especial en HTML: escribe < para <, > para >, y & para &. El escape es lo que hace que los corchetes angulares se rendericen como texto en lugar de interpretarse como etiquetas.
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
</head>
<body>
<p>The code below is shown as literal text:</p>
<pre><code><h1>Main title of the document</h1>
<p>First paragraph of the text</p>
<h2>Subheading</h2></code></pre>
</body>
</html>A diferencia de <plaintext>, <pre> tiene una etiqueta de cierre correcta (</pre>), por lo que la región de texto literal termina exactamente donde tú quieres y el resto de la página se renderiza con normalidad. También puedes aplicar una fuente de ancho fijo a cualquier elemento HTML con la propiedad CSS font-family y el valor genérico monospace.
Como referencia histórica, la etiqueta <xmp> es otra forma obsoleta de mostrar texto literal; al igual que <plaintext>, no debe usarse. Consulta la lista completa de etiquetas HTML obsoletas que debes evitar.
Sintaxis
La etiqueta <plaintext> no es un elemento vacío, pero su etiqueta de cierre está prohibida — no existe </plaintext>. El analizador HTML deja de interpretar el marcado en el momento en que encuentra la etiqueta de apertura, consumiendo el resto del documento como texto plano.
Ejemplo de la etiqueta HTML <plaintext>:
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
</head>
<body>
<p>The tag content looks like this:</p>
<plaintext>
<h1>Main title of the document</h1>
<p>First paragraph of the text</p>
<h2>Subheading</h2>
</body>
</html>Resultado

Atributos
La etiqueta <plaintext> admite los Atributos Globales.