טקסט בתוך HTML
חלק מהיחידה יסודות Express במסלול ה-Node.js של Coddy. שיעור 9 מתוך 23.
מבקר יכול להקליד תווים ש־HTML מתייחס אליהם כסימון. אם כותרת מכילה <b>, הצבתה ישירות בדף יוצרת תגית. המרת התווים לרצפי escape הופכת אותם לטקסט שהדפדפן מציג.
escapeHtml('<b>Lunch</b>');
// <b>Lunch</b>פונקציית העזר הופכת את & ל־&, שהדפדפן מציג כסימן אמפרסנד. מרכאות כפולות הופכות ל־"; גרשיים נשארים ללא שינוי. יש להמיר לרצפי escape כל ערך טקסט שמוסיפים, בלי קשר למי כתב אותו, לפני שעוטפים אותו ב־HTML משלכם. המרת כל הדף לרצפי escape תגרום לכך שגם תגיות הכותרת שלכם יוצגו כטקסט. אין צורך לכתוב את פונקציית העזר; ההחלטה החשובה היא היכן להשתמש בה.
בכתובת URL, כותבים רווח בתור %20, סימן אמפרסנד בתור %26, וסוגריים זוויתיים בתור %3C ו־%3E. קידודים אלה מפרידים בין טקסט הכותרת לבין תחביר השאילתה.
אתגר
קלערכו את exercise.js. השתמשו בפונקציית העזר שסופקה על הכותרת לפני שתציבו אותה בתוך תגיות הכותרת שלכם. החזירו את הכותרת שהושלמה בתוך html.
נסו להריץ: GET /result?title=Fish%20%26%20Chips מחזיר {"html":"<h1>Fish & Chips</h1>"}. נסו את /result?title=%3Cb%3ELunch%3C%2Fb%3E: הכותרת שהוכנסה חייבת להיות טקסט, בעוד שהכותרת שלכם נשארת סימון.
נסו בעצמכם
import { escapeHtml } from './html.js';
export function exercise({ title }) {
return { html: `<h1>${title}</h1>` };
}
כל השיעורים ביחידה יסודות Express
תרגלו בעצמכם: Express אונליין