escapeHtml()
Экранирует специальные HTML-символы в строке.
import { escapeHtml } from "@unifast/core";Сигнатура
function escapeHtml(str: string): stringПараметры
str
| Свойство | Тип | По умолчанию | Описание |
|---|---|---|---|
str | string | — | Строка, содержащая символы для экранирования |
Возвращаемое значение
string — входная строка, в которой &, <, > и " заменены на соответствующие HTML-сущности.
Использование
import { escapeHtml } from "@unifast/core";
const safe = escapeHtml('<script>alert("xss")</script>');
console.log(safe);
// <script>alert("xss")</script>Примеры
Базовое экранирование
import { escapeHtml } from "@unifast/core";
console.log(escapeHtml("Tom & Jerry"));
// Tom & Jerry
console.log(escapeHtml('class="main"'));
// class="main"
console.log(escapeHtml("1 < 2 > 0"));
// 1 < 2 > 0Экранирование пользовательского контента
import { escapeHtml } from "@unifast/core";
const userComment = '<img src=x onerror="alert(1)">';
const html = `<div class="comment"></div>`;
console.log(html);
// <div class="comment"><img src=x onerror="alert(1)"></div>Построение безопасных HTML-атрибутов
import { escapeHtml } from "@unifast/core";
const title = 'He said "hello" & waved';
const html = `<span title="">Hover me</span>`;
console.log(html);
// <span title="He said "hello" & waved">Hover me</span>Поведение
&заменяется на&<заменяется на<>заменяется на>"заменяется на"Все остальные символы остаются без изменений