目前,我正在将内容从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>
答案 0 :(得分:0)
我找到了WordPress在其中添加<br>
的实际代码(这不是很漂亮...)
wp-includes/formatting.php::wpautop()
中有很多逻辑
我想我会将该功能复制到导入脚本中。