tokimikichika/htmlsanitizer

Simple HTML sanitizer library for cleaning HTML tags and extracting plain text

Installs: 4

Dependents: 1

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/tokimikichika/htmlsanitizer

v0.2.0 2025-10-15 07:00 UTC

This package is auto-updated.

Last update: 2025-10-15 07:03:07 UTC


README

Простая библиотека для очистки HTML от тегов и извлечения чистого текста.

Установка

composer require tokimikichika/htmlsanitizer

Использование

Простое использование

use Tokimikichika\HtmlSanitizer\HtmlSanitizer;
use Tokimikichika\HtmlSanitizer\Service\HtmlCleanerService;
use Tokimikichika\HtmlSanitizer\Service\TextNormalizerService;

$sanitizer = new HtmlSanitizer(
    new HtmlCleanerService(),
    new TextNormalizerService()
);
$cleanText = $sanitizer->sanitizeText('<p>Hello <strong>world</strong>!</p>');
// Результат: "Hello world!"

Расширенное использование с кастомными сервисами

use Tokimikichika\HtmlSanitizer\HtmlSanitizer;
use Tokimikichika\HtmlSanitizer\Service\HtmlCleanerService;
use Tokimikichika\HtmlSanitizer\Service\TextNormalizerService;

$sanitizer = new HtmlSanitizer(
    new HtmlCleanerService(),
    new TextNormalizerService()
);
$cleanText = $sanitizer->sanitizeText($html);

Использование отдельных сервисов

use Tokimikichika\HtmlSanitizer\Service\HtmlCleanerService;
use Tokimikichika\HtmlSanitizer\Service\TextNormalizerService;

$cleaner = new HtmlCleanerService();
$normalizer = new TextNormalizerService();

$html = $cleaner->removeScriptAndStyleTags($html);
$html = $cleaner->removeComments($html);
$html = $cleaner->decodeHtmlEntities($html);
$text = $cleaner->stripHtmlTags($html);
$text = $normalizer->normalizeWhitespace($text);

Архитектура

  • HtmlSanitizer — основной класс, координирует работу сервисов
  • HtmlCleanerService — очистка HTML (удаление тегов, комментариев, декодирование entities)
  • TextNormalizerService — нормализация текста (пробелы, переносы строк)

Возможности

  • Удаляет все HTML теги
  • Удаляет script и style теги с содержимым
  • Удаляет HTML комментарии
  • Декодирует HTML entities
  • Нормализует пробелы и переносы строк
  • Модульная архитектура для гибкой настройки

Тестирование

composer test

Лицензия

MIT