W3docs

Tag HTML <plaintext>

O conteúdo da tag <plaintext> é exibido como texto simples sem formatação. Descrição e exemplos de uso.

A tag <plaintext> instrui o navegador a exibir tudo o que vem depois dela como texto simples, sem nenhuma formatação HTML. Quando o parser encontra essa tag, ele entra no modo de texto bruto e trata todo o conteúdo subsequente do documento como texto simples, ignorando todas as tags que vierem depois.

Perigo

Obsoleta — nunca use <plaintext>. Ela está obsoleta desde o HTML2 e não faz parte de nenhum padrão HTML moderno. Os navegadores ainda a renderizam apenas por compatibilidade retroativa, e seu comportamento é irreversivelmente destrutivo (veja abaixo). Para exibir texto literal, use <pre> e/ou <code>.

Por que <plaintext> é irreversivelmente perigosa

O fato crítico sobre <plaintext> é que ela não possui tag de fechamento. Não existe um </plaintext> que o navegador reconheça. Uma vez que o parser entra em <plaintext>, ele consome o restante do documento como texto literal — incluindo qualquer marcação que venha depois, até o final do arquivo:

  • Tudo após <plaintext> é exibido como texto bruto, portanto qualquer HTML real escrito depois (parágrafos, scripts, estilos) é exibido como código-fonte em vez de ser renderizado.
  • As tags de fechamento </body> e </html> também são consumidas como texto, fazendo com que o documento nunca seja fechado corretamente.
  • Não é possível "desligá-la". Não há como sair do modo de texto simples uma vez iniciado, razão pela qual um único <plaintext> pode quebrar uma página inteira.

Por essas razões, <plaintext> deve ser tratada como um artefato histórico a ser reconhecido em código antigo, e não como uma ferramenta a ser utilizada.

Perigo

Se <plaintext> fosse o primeiro elemento na página, toda a resposta do documento seria tratada como texto simples. Nessa situação, servir o arquivo com o tipo MIME text/plain é a abordagem correta — não esta tag.

O que usar em vez disso

Para exibir com segurança texto literal ou código, combine <pre> (que preserva espaços em branco e quebras de linha) com <code> (que marca o texto como código), e escape os caracteres com significado especial em HTML: escreva &lt; para <, &gt; para > e &amp; para &. O escape é o que faz os colchetes angulares serem renderizados como texto em vez de serem interpretados como tags.

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p>The code below is shown as literal text:</p>
    <pre><code>&lt;h1&gt;Main title of the document&lt;/h1&gt;
&lt;p&gt;First paragraph of the text&lt;/p&gt;
&lt;h2&gt;Subheading&lt;/h2&gt;</code></pre>
  </body>
</html>

Ao contrário de <plaintext>, <pre> possui uma tag de fechamento adequada (</pre>), portanto a região de texto literal termina exatamente onde você deseja e o restante da página é renderizado normalmente. Você também pode aplicar uma fonte monoespaçada a qualquer elemento HTML com a propriedade CSS font-family e o valor genérico monospace.

Para contexto histórico, a tag <xmp> é outra forma obsoleta de exibir texto literal; assim como <plaintext>, não deve ser utilizada. Consulte a lista completa de tags HTML obsoletas a evitar.

Sintaxe

A tag <plaintext> não é um elemento vazio, mas sua tag de fechamento é proibida — não existe </plaintext>. O parser HTML para de interpretar a marcação no momento em que encontra a tag de abertura, consumindo o restante do documento como texto simples.

Exemplo da 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>

Resultado

exemplo da tag plaintext

Atributos

A tag <plaintext> suporta os Atributos Globais.

Prática

Prática
O que acontece quando o navegador encontra a tag <plaintext>?
O que acontece quando o navegador encontra a tag <plaintext>?
Was this page helpful?