Skip to content

Работа с HTML

Функции для обработки HTML-строк: удаление тегов, экранирование символов, парсинг и очистка фрагментов.

Список методов

Очистка HTML

ФункцияСигнатураОписание
stripHtml(string: string): stringУдаляет все HTML-теги из строки.
stripFragment(html: string): stringУдаляет теги фрагментов из HTML-строки.

Экранирование и декодирование HTML

ФункцияСигнатураОписание
escapeHtml(input: string): stringПреобразует специальные символы в HTML-сущности.
decodeHtml(input: string): stringПреобразует HTML-сущности обратно в символы.

Парсинг HTML

ФункцияСигнатураОписание
parseHtml(html: string, isStripFragment?: boolean): Node[]Парсит HTML-строку в массив DOM-узлов.

Примеры использования

Очистка HTML

1. stripHtml

typescript
import { stripHtml } from './html';

const htmlString = '<p>Привет, <strong>мир!</strong></p>';
console.log(stripHtml(htmlString)); // "Привет, мир!"

2. stripFragment

typescript
import { stripFragment } from './html';

const htmlWithFragment = '<!--StartFragment--><p>Фрагмент текста</p><!--EndFragment-->';
console.log(stripFragment(htmlWithFragment)); // "<p>Фрагмент текста</p>"

Экранирование и декодирование HTML

3. escapeHtml

typescript
import { escapeHtml } from './html';

const unsafeString = '<script>alert("XSS")</script>';
console.log(escapeHtml(unsafeString)); // "&lt;script&gt;alert(&quot;XSS&quot;)&lt;/script&gt;"

4. decodeHtml

typescript
import { decodeHtml } from './html';

const encodedString = '&lt;p&gt;Привет, мир!&lt;/p&gt;';
console.log(decodeHtml(encodedString)); // "<p>Привет, мир!</p>"

Парсинг HTML

5. parseHtml

typescript
import { parseHtml } from './html';

const htmlString = '<div><p>Привет</p><span>Мир</span></div>';
const nodes = parseHtml(htmlString);
console.log(nodes.length); // 2 (узлы <p> и <span>)

// С фрагментами
const htmlWithFragment = '<!--StartFragment--><p>Фрагмент</p><!--EndFragment-->';
const fragmentNodes = parseHtml(htmlWithFragment, true);
console.log(fragmentNodes.length); // 1 (узел <p>)

dev@priveted.com | priveted.com