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
Requires
- php: >=8.0
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.0
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