Tag HTML <plaintext>
Il tag <plaintext> mostra il contenuto come testo normale senza formattazione. Descrizione e esempi d'uso.
Il tag <plaintext> indica al browser di visualizzare tutto ciò che lo segue come testo normale, senza alcuna formattazione HTML. Quando il parser incontra questo tag, passa alla modalità testo grezzo e tratta tutto il contenuto successivo del documento come testo normale, ignorando ogni tag che segue.
Deprecato — non usare mai <plaintext>. È obsoleto fin da HTML2 e non fa parte di alcuno standard HTML moderno. I browser continuano a interpretarlo solo per compatibilità con le versioni precedenti, ma il suo comportamento è irreversibilmente distruttivo (vedi sotto). Per visualizzare testo letterale, usa invece <pre> e/o <code>.
Perché <plaintext> è irreversibilmente pericoloso
Il fatto critico riguardo a <plaintext> è che non ha un tag di chiusura. Non esiste un </plaintext> che il browser riconosca. Una volta che il parser entra in <plaintext>, consuma il resto del documento come testo letterale — compreso qualsiasi markup che lo segue, fino alla fine del file:
- Tutto ciò che viene dopo
<plaintext>è mostrato come testo grezzo, quindi qualsiasi HTML reale scritto dopo di esso (paragrafi, script, stili) viene visualizzato come sorgente anziché essere renderizzato. - Anche i tag di chiusura
</body>e</html>vengono inghiottiti come testo, quindi il documento non si chiude correttamente. - Non è possibile "disattivarlo". Non esiste alcun modo per uscire dalla modalità testo normale una volta iniziata, ed è per questo che un singolo
<plaintext>può rompere un'intera pagina.
Per queste ragioni <plaintext> dovrebbe essere considerato un reperto da riconoscere nel codice vecchio, non uno strumento da utilizzare.
Se <plaintext> fosse il primo elemento della pagina, l'intera risposta del documento verrebbe trattata come testo normale. In quella situazione, l'approccio corretto è servire il file con il MIME-type text/plain — non questo tag.
Cosa usare al suo posto
Per visualizzare in modo sicuro testo letterale o codice, combina <pre> (che preserva gli spazi bianchi e le interruzioni di riga) con <code> (che contrassegna il testo come codice), ed esegui l'escape dei caratteri con significato speciale in HTML: scrivi < per <, > per > e & per &. L'escape è ciò che fa sì che le parentesi angolari vengano mostrate come testo anziché essere interpretate come tag.
<!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 differenza di <plaintext>, <pre> ha un tag di chiusura corretto (</pre>), quindi la regione di testo letterale termina esattamente dove si desidera e il resto della pagina viene renderizzato normalmente. È anche possibile applicare un font monospaziato a qualsiasi elemento HTML tramite la proprietà CSS font-family con il valore generico monospace.
Per contesto storico, il tag <xmp> è un altro modo deprecato per mostrare testo letterale; come <plaintext>, non dovrebbe essere utilizzato. Consulta l'elenco completo dei tag HTML deprecati da evitare.
Sintassi
Il tag <plaintext> non è un elemento vuoto, ma il suo tag di chiusura è vietato — non esiste </plaintext>. Il parser HTML smette di interpretare il markup nel momento in cui incontra il tag di apertura, consumando il resto del documento come testo normale.
Esempio del tag 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>Risultato

Attributi
Il tag <plaintext> supporta gli Attributi Globali.