WordPress如何为内容添加换行符?

时间:2019-09-06 08:14:55

标签: php wordpress

目前,我正在将内容从WordPress迁移到另一个CMS。

我使用了WordPress的默认内容导出功能,该功能创建了一个包含所有内容的XML文件。除所有<br>都丢失的事实外,此方法工作正常。

因此,我在内容上运行了PHP的nl2br,这在某些行上可以正常运行,但是还在不应该添加的位置添加了<br>,例如在<ul><li>元素。

在数据库中,WordPress内容不包含<br>,因此内容导出似乎是正确的。 但是,在WordPress网站的最终HTML输出中,HTML确实包含<br>。 所以我想知道:WordPress如何添加<br>,它如何知道在哪里添加? 谁能指出WordPress添加它们的地方?

数据库中的内容示例:

<strong>Something:</strong> Something else
<strong>Another point:</strong> Lorem ipsum

<ul>
    <li><strong>Some text</strong></li>
    <li><strong>Some other text</strong></li>
</ul>

我的nl2br将导致:

<strong>Something:</strong> Something else<br>
<strong>Another point:</strong> Lorem ipsum<br>
<br>
<ul><br>
    <li><strong>Some text</strong></li><br>
    <li><strong>Some other text</strong></li><br>
</ul><br>

WordPress生成的输出:

<strong>Something:</strong> Something else<br />
<strong>Another point:</strong> Lorem ipsum<br />

<ul>
    <li><strong>Some text</strong></li>
    <li><strong>Some other text</strong></li>
</ul>

1 个答案:

答案 0 :(得分:0)

我找到了WordPress在其中添加<br>的实际代码(这不是很漂亮...)

wp-includes/formatting.php::wpautop()中有很多逻辑 我想我会将该功能复制到导入脚本中。