Text in HTML
Teil des Abschnitts Express-Grundlagen der Node.js-Journey von Coddy. Lektion 9 von 23.
Ein Besucher kann Zeichen eingeben, die HTML als Markup behandelt. Wenn ein Titel <b> enthält und direkt in eine Seite eingefügt wird, entsteht ein Tag. Durch Escaping werden diese Zeichen in Text umgewandelt, den der Browser anzeigt.
escapeHtml('<b>Lunch</b>');
// <b>Lunch</b>Die Hilfsfunktion wandelt & in & um, was der Browser als kaufmännisches Und-Zeichen anzeigt. Doppelte Anführungszeichen werden zu "; Apostrophe bleiben unverändert. Escapen Sie jeden eingefügten Textwert, unabhängig davon, wer ihn geschrieben hat, bevor Sie ihn mit Ihrem eigenen HTML umgeben. Wenn Sie die gesamte Seite escapen, werden auch Ihre Überschriften-Tags als Text angezeigt. Sie müssen die Hilfsfunktion nicht selbst schreiben; entscheidend ist, wo Sie sie verwenden.
Schreiben Sie in einer URL ein Leerzeichen als %20, ein kaufmännisches Und-Zeichen als %26 und spitze Klammern als %3C und %3E. Diese Codierungen halten den Titeltext von der Abfragesyntax getrennt.
Aufgabe
EinfachBearbeite exercise.js. Verwende den bereitgestellten Helfer für den Titel, bevor du ihn in deine eigenen Überschriften-Tags einfügst. Gib die fertige Überschrift in html zurück.
Probiere „Spielen“ aus: GET /result?title=Fish%20%26%20Chips gibt {"html":"<h1>Fish & Chips</h1>"} zurück. Probiere /result?title=%3Cb%3ELunch%3C%2Fb%3E aus: Der eingefügte Titel muss Text sein, während deine Überschrift Markup bleibt.
Probier es selbst
import { escapeHtml } from './html.js';
export function exercise({ title }) {
return { html: `<h1>${title}</h1>` };
}
Alle Lektionen in Express-Grundlagen
2Antworten
JSON-AntwortenÜbe selbstständig: Express-Playground