Menu
CoddyTech

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>');
// &lt;b&gt;Lunch&lt;/b&gt;

Funkcja pomocnicza zamienia & na &amp;, które przeglądarka wyświetla jako ampersand. Cudzysłowy podwójne stają się &quot;; 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.

challenge icon

Wyzwanie

Łatwy

Edytuj 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 &amp; 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

Poćwicz samodzielnie: Edytor online Express