Balise HTML <plaintext>
Le contenu de la balise <plaintext> est affiché comme du texte brut sans mise en forme. Description et exemples d'utilisation.
La balise <plaintext> indique au navigateur d'afficher tout ce qui la suit comme du texte ordinaire, sans aucune mise en forme HTML. Lorsque l'analyseur rencontre cette balise, il passe en mode texte brut et traite tout le contenu suivant du document comme du texte simple, ignorant toutes les balises qui viennent après.
Obsolète — n'utilisez jamais <plaintext>. Elle est désuète depuis HTML2 et ne fait partie d'aucune norme HTML moderne. Les navigateurs la prennent encore en charge uniquement pour la compatibilité ascendante, et son comportement est irrémédiablement destructeur (voir ci-dessous). Pour afficher du texte littéral, utilisez plutôt <pre> et/ou <code>.
Pourquoi <plaintext> est irrémédiablement dangereuse
Le fait essentiel concernant <plaintext> est qu'elle n'a pas de balise fermante. Il n'existe pas de </plaintext> que le navigateur reconnaîtra. Une fois que l'analyseur entre dans <plaintext>, il consomme le reste du document comme texte littéral — y compris tout le balisage qui suit, jusqu'à la fin du fichier :
- Tout ce qui vient après
<plaintext>est affiché comme texte brut, de sorte que tout le HTML réel écrit après (paragraphes, scripts, styles) s'affiche comme source au lieu d'être rendu. - Les balises fermantes
</body>et</html>sont également absorbées comme texte, si bien que le document ne se ferme jamais correctement. - Il est impossible de « désactiver » ce comportement. Il n'existe aucun moyen de quitter le mode texte brut une fois qu'il a commencé, c'est pourquoi un seul
<plaintext>peut briser toute une page.
Pour ces raisons, <plaintext> doit être considérée comme une relique à reconnaître dans le code ancien, et non comme un outil à utiliser.
Si <plaintext> était le premier élément de la page, toute la réponse du document serait traitée comme du texte brut. Dans ce cas, servir le fichier avec le type MIME text/plain est la bonne approche — et non cette balise.
Ce qu'il faut utiliser à la place
Pour afficher en toute sécurité du texte littéral ou du code, combinez <pre> (qui préserve les espaces blancs et les sauts de ligne) avec <code> (qui marque le texte comme du code), et échappez les caractères ayant une signification spéciale en HTML : écrivez < pour <, > pour >, et & pour &. L'échappement est ce qui permet aux chevrons de s'afficher comme du texte au lieu d'être interprétés comme des balises.
<!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>Contrairement à <plaintext>, <pre> possède une balise fermante correcte (</pre>), de sorte que la région de texte littéral se termine exactement là où vous le souhaitez et que le reste de la page s'affiche normalement. Vous pouvez également appliquer une police à chasse fixe à n'importe quel élément HTML grâce à la propriété CSS font-family et à la valeur générique monospace.
Pour le contexte historique, la balise <xmp> est une autre façon obsolète d'afficher du texte littéral ; comme <plaintext>, elle ne doit pas être utilisée. Consultez la liste complète des balises HTML obsolètes à éviter.
Syntaxe
La balise <plaintext> n'est pas un élément vide, mais sa balise fermante est interdite — il n'existe pas de </plaintext>. L'analyseur HTML cesse d'interpréter le balisage dès qu'il rencontre la balise ouvrante, et consomme le reste du document comme texte brut.
Exemple de la balise 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>Résultat

Attributs
La balise <plaintext> prend en charge les attributs globaux.