Добрый день.
Контент менеджер иногда заполняя текст сообщения, которое отправляем в телеграмм, ошибается и не закрывает какой-то из HTML тегов.
Как проверить регуляркой, что есть открытый тег, но закрытого нет?
<?php
$html = '<div><p>Текст</p><span>Другой текст</span>';
$pattern = '/<([a-zA-Z]+)[^>]*>(?!.*?<\/\1>)/';
if (preg_match($pattern, $html, $matches)) {
echo "Найден открытый тег: {$matches[1]}\n";
} else {
echo "Открытых тегов без закрытия не найдено\n";
}
?>
$html = '<div><p>Текст</p><br><hr><br><span>Другой текст</span>';