Странное поведение при рендеринге текстовых полей vtiger с уценкой: неверный отступ списков элементов

Я испытал очень странное поведение: я написал пользовательскую функцию для PDF-Maker, которая отправляет текст пользовательского поля через Markdown (я использовал Parsedown). (Идея состоит в том, что мы можем легко выполнить простое форматирование в текстовых полях в vtiger, где у нас нет продвинутого редактора.)

У меня есть следующий список в текстовом поле:

* a
* b
* c

Вывод Parsedown приводит к тому, что все элементы из второй строки будут отображаться как вложенный список:

<ul>
<li>a
<ul>
<li>b</li>
<li>c</li>
</ul></li>
</ul>
    • б
    • с

Конечно, если я вставлю текст directktly в parsedown, он будет отображен правильно:

<ul>
<li>a</li>
<li>b</li>
<li>c</li>
</ul>

Что здесь происходит? Любой намек...?

1 ответ

Решение

После нескольких часов пробных попыток я заметил, что текст, который передается пользовательской функции, имеет дополнительный символ пробела в начале каждой строки, начиная со второй строки... текст, который получает parsedown, на самом деле:

* a
 * b
 * c

Итак, я добавил

$text = preg_replace("/^\s/m", "", $text);

и все работает нормально......

Другие вопросы по тегам