Menu
CoddyTech

Texte dans HTML

Fait partie de la section Les bases d’Express du Journey Node.js de Coddy. Leçon 9 sur 23.

Un visiteur peut saisir des caractères que HTML interprète comme du balisage. Si un titre contient <b>, l’insérer directement dans une page crée une balise. L’échappement transforme ces caractères en texte que le navigateur affiche.

escapeHtml('<b>Lunch</b>');
// &lt;b&gt;Lunch&lt;/b&gt;

La fonction utilitaire transforme & en &amp;, que le navigateur affiche sous forme d’esperluette. Les guillemets doubles deviennent &quot; ; les apostrophes restent inchangées. Échappe chaque valeur de texte insérée, quel que soit son auteur, avant de l’entourer de ton propre HTML. Si tu échappais toute la page, tes balises de titre s’afficheraient aussi sous forme de texte. Tu n’as pas besoin d’écrire la fonction utilitaire ; l’important est de savoir où l’utiliser.

Dans une URL, écris une espace sous la forme %20, une esperluette sous la forme %26, et les chevrons sous les formes %3C et %3E. Ces encodages séparent le texte du titre de la syntaxe de la requête.

challenge icon

Défi

Facile

Modifiez exercise.js. Utilisez l’utilitaire fourni sur le titre avant de le placer dans vos propres balises de titre. Retournez le titre terminé dans html.

Essayez d’exécuter : GET /result?title=Fish%20%26%20Chips renvoie {"html":"<h1>Fish &amp; Chips</h1>"}. Essayez /result?title=%3Cb%3ELunch%3C%2Fb%3E : le titre inséré doit être du texte, tandis que votre titre reste du balisage.

Essayez vous-même

import { escapeHtml } from './html.js';
export function exercise({ title }) {
    return { html: `<h1>${title}</h1>` };
}

Toutes les leçons de Les bases d’Express

Entraînez-vous par vous-même : Playground Express