Как корректно спарсить markdown, приходящий с сервера?

Ссылка скопирована
1 ответ

Суть вопроса, с сервера приходит markdown, предположим формата

| Параметры | Телефон: +7 (111) 111-11-11nФИО: Тестовый Василий ПетровичnEmail: test@test.com | n|--|--|

| Параметры | Телефон: +7 (111) 111-11-11nФИО: Тестовый Василий ПетровичnEmail: test@test.com | n|--|--|

Однако, строка приходит не многострочной (понятное дело), потому md нормально не парсится и на выходе получается та же самая строка, что и на входе.

Т.е.
Ожидается

Как корректно спарсить markdown, приходящий с сервера?

На деле

Как корректно спарсить markdown, приходящий с сервера?

Использовал 2 разных парсера
https://github.com/markdown-it/markdown-it
https://www.npmjs.com/package/showdown

Дополнительно:

Возможно приходит n в виде двух символов, слеша и буквы n. Тогда split("\n").join("n"), ну или replaceAll, если угодно.

  • В случае, с showdown так и получилось, с markdown-it как будто после повторного теста, все заработало, спасибо!
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Дмитрий К. Ответ

Для корректного парсинга Markdown, который приходит с сервера, можно воспользоваться библиотекой PHP под названием Parsedown. Parsedown является легким и быстрым парсером Markdown, который может быть легко встроен в ваш проект.

Для начала, вам нужно установить Parsedown с помощью Composer. Для этого добавьте следующую строку в ваш файл composer.json:

"require": {
    "erusev/parsedown": "~1.7"
}

"require": { "erusev/parsedown": "~1.7" }

После этого запустите команду `composer install` для установки библиотеки. Далее включите автозагрузчик Composer в вашем проекте:

require_once 'vendor/autoload.php';

require_once 'vendor/autoload.php';

Теперь вы можете использовать Parsedown для парсинга Markdown. Пример использования:

$markdown = '## Заголовок
Это **жирный** текст';
 
$parsedown = new Parsedown();
$html = $parsedown->text($markdown);
 
echo $html;

$markdown = '## Заголовок Это **жирный** текст'; $parsedown = new Parsedown(); $html = $parsedown->text($markdown); echo $html;

Вы также можете настроить Parsedown, указав опции в конструкторе:

$options = [
    'breaks_enabled' => true, // Включить автопереносы строк
    'markup_escaped' => true, // Экранировать HTML-теги
];
 
$parsedown = new Parsedown($options);

$options = [ 'breaks_enabled' => true, // Включить автопереносы строк 'markup_escaped' => true, // Экранировать HTML-теги ]; $parsedown = new Parsedown($options);

Таким образом, использование Parsedown позволит вам корректно спарсить Markdown, который приходит с сервера, и отобразить его на вашем сайте в виде HTML-кода.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно