使用降价渲染 vtiger 文本字段时的奇怪行为:项目列表的缩进错误

Strange behaviour when rendering vtiger text fields with markdown: Wrong indent of item lists

我遇到了一个非常奇怪的行为:我为 PDF-Maker 编写了一个自定义函数,它通过 Markdown 发送自定义字段的文本(我使用的是 Parsedown)。 (我们的想法是,我们可以在没有任何高级编辑器的 vtiger 中轻松地在文本字段中进行一些简单的格式化。)

我在文本字段中有以下列表:

* a
* b
* c

Parsedown 的输出导致从第二行开始的所有项目都呈现为嵌套列表:

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

当然,如果我直接将文本粘贴到 parsedown,它就会正确呈现:

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

这里发生了什么?任何提示...?

经过几个小时尝试不同的事情后,我注意到传递给自定义函数的文本在从第二行开始的每一行的开头都有一个额外的 space 字符...... parsedown 的文本实际上收到的是:

* a
 * b
 * c

所以我添加了

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

一切正常......