我遇到了一个非常奇怪的行为:我为PDF-Maker编写了一个自定义函数,它通过Markdown(我使用了Parsedown)发送自定义字段的文本。(我们的想法是,我们可以很容易地在没有任何高级编辑器的vtiger中对文本字段进行一些简单的格式化。)
我在文本字段中有以下列表:
* a
* b
* c
Parsedown的输出导致从第二行开始的所有项呈现为嵌套列表:
<ul>
<li>a
<ul>
<li>b</li>
<li>c</li>
</ul></li>
</ul>
- 一
- b c
当然,如果我直接粘贴文本到parsedown,它会正确呈现:
<ul>
<li>a</li>
<li>b</li>
<li>c</li>
</ul>
这里发生了什么?有什么提示吗?
经过几个小时的尝试,我注意到传递给自定义函数的文本在每行的开头从第二行开始有一个额外的空格字符。parsedown接收到的文本实际上是:
* a
* b
* c
所以我添加了
$text = preg_replace("/^s/m", "", $text);
一切正常......