@Svoboo

Как на php преобразовать html в форматированный текст?

Есть текст в разметке html c параграфами, списками и тд. Как средствами php его можно преобразовать в обычный форматированный текст для сохранения в txt?
К примеру есть вида:
<p>абзац 1</p>
<p>абзац 2</p>
<ul>
	<li>пункт 1</li>
	<li>пункт 2</li>
	<li>пункт 3</li>
</ul>

Нужно сделать вида:
абзац 1
абзац 2
-пункт 1
-пункт 2
-пункт 3
  • Вопрос задан
  • 831 просмотр
Решения вопроса 1
Stalker_RED
@Stalker_RED
Так?

$txt = str_replace('<li', '-<li', $txt); // добавим минусы в списке
$txt = strip_tags($txt); // уберем теги

$rows = explode("\n", $txt); // разобьем на строки
$rows = array_map('trim', $rows); // уберем пробелы в начале и конце
$rows = array_filter($rows); // уберем пустые строки

echo implode("\n", $rows);  // склеим строки снова в текст


Есть и в виде готовых библиотек, типа такой
https://github.com/soundasleep/html2text
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@romicohen
Системный Архитектор
Обычно используют это: https://www.php.net/manual/ru/book.pcre.php - добро пожаловать в Ад =)

Но лично я бы поискал какую-нить библиотеку на Github - наверняка есть много таких пакетов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы