Как корректно спарсить markdown, приходящий с сервера?
Суть вопроса, с сервера приходит markdown, предположим формата
| Параметры | Телефон: +7 (111) 111-11-11nФИО: Тестовый Василий ПетровичnEmail: test@test.com | n|--|--| |
| Параметры | Телефон: +7 (111) 111-11-11nФИО: Тестовый Василий ПетровичnEmail: test@test.com | n|--|--|
Однако, строка приходит не многострочной (понятное дело), потому md нормально не парсится и на выходе получается та же самая строка, что и на входе.
Т.е.
Ожидается
На деле
Использовал 2 разных парсера
https://github.com/markdown-it/markdown-it
https://www.npmjs.com/package/showdown
Дополнительно:
Возможно приходит n в виде двух символов, слеша и буквы n. Тогда split("\n").join("n"), ну или replaceAll, если угодно.
- В случае, с showdown так и получилось, с markdown-it как будто после повторного теста, все заработало, спасибо!
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос


Для корректного парсинга Markdown, который приходит с сервера, можно воспользоваться библиотекой PHP под названием Parsedown. Parsedown является легким и быстрым парсером Markdown, который может быть легко встроен в ваш проект.
Для начала, вам нужно установить Parsedown с помощью Composer. Для этого добавьте следующую строку в ваш файл composer.json:
"require": { "erusev/parsedown": "~1.7" }
После этого запустите команду `composer install` для установки библиотеки. Далее включите автозагрузчик Composer в вашем проекте:
require_once 'vendor/autoload.php';
Теперь вы можете использовать Parsedown для парсинга Markdown. Пример использования:
$markdown = '## Заголовок Это **жирный** текст'; $parsedown = new Parsedown(); $html = $parsedown->text($markdown); echo $html;
Вы также можете настроить Parsedown, указав опции в конструкторе:
$options = [ 'breaks_enabled' => true, // Включить автопереносы строк 'markup_escaped' => true, // Экранировать HTML-теги ]; $parsedown = new Parsedown($options);
Таким образом, использование Parsedown позволит вам корректно спарсить Markdown, который приходит с сервера, и отобразить его на вашем сайте в виде HTML-кода.