[英]How does WordPress add line-breaks to the content?
目前,我正在將內容從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>
我在WordPress添加<br>
的地方找到了實際的代碼(這不是很漂亮...)
wp-includes/formatting.php::wpautop()
有很多邏輯,我想我會將該功能復制到導入腳本中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.