Tekst w HTML
Część sekcji Podstawy Express ścieżki Node.js w Coddy. Lekcja 9 z 23.
Odwiedzający może wpisać znaki, które HTML traktuje jak znaczniki. Jeśli tytuł zawiera <b>, umieszczenie go bezpośrednio na stronie tworzy znacznik. Escapowanie zamienia te znaki w tekst wyświetlany przez przeglądarkę.
escapeHtml('<b>Lunch</b>');
// <b>Lunch</b>Funkcja pomocnicza zamienia & na &, które przeglądarka wyświetla jako ampersand. Cudzysłowy podwójne stają się "; apostrofy pozostają bez zmian. Escapuj każdą wstawianą wartość tekstową — niezależnie od tego, kto ją napisał — zanim otoczysz ją własnym HTML-em. Escapowanie całej strony spowodowałoby również wyświetlenie znaczników nagłówków jako tekstu. Nie musisz pisać tej funkcji pomocniczej; ważne jest, by wiedzieć, gdzie jej użyć.
W adresie URL zapisuj spację jako %20, ampersand jako %26, a nawiasy ostrokątne jako %3C i %3E. Te kodowania oddzielają tekst tytułu od składni zapytania.
Wyzwanie
ŁatwyEdytuj exercise.js. Użyj dostarczonej funkcji pomocniczej dla tytułu, zanim umieścisz go we własnych znacznikach nagłówka. Zwróć gotowy nagłówek w html.
Uruchom próbę: GET /result?title=Fish%20%26%20Chips zwraca {"html":"<h1>Fish & Chips</h1>"}. Wypróbuj /result?title=%3Cb%3ELunch%3C%2Fb%3E: wstawiony tytuł musi być tekstem, a nagłówek ma pozostać znacznikiem.
Spróbuj swoich sił
import { escapeHtml } from './html.js';
export function exercise({ title }) {
return { html: `<h1>${title}</h1>` };
}
Wszystkie lekcje w sekcji Podstawy Express
2Odpowiedzi
Odpowiedzi JSONPoćwicz samodzielnie: Edytor online Express