Skip to main content
 首页 » 编程设计

Python Markdown nl2br 扩展

2025年05月04日8java哥

我是一名初级程序员,我一直在尝试在我的网络应用程序中使用 python markdown 库。一切正常,除了 nl2br 扩展。

当我尝试使用 md.convert(text) 将文本文件转换为 html 时,它没有看到将换行符转换为 <br> .

比如我转换之前,文字是:

Puerto Rico 
 
=========== 
 
------------------------------ 
 
### Game Rules 
 
 
 
 
 
hello world! 

转换后,我得到:

 <h1>Puerto Rico</h1> 
<hr /> 
<h3>Game Rules</h3> 
<p>hello world!</p> 

我的理解是空格用'\n'表示,应该转成<br> ,但我没有得到那个结果。这是我的代码:

import markdown 
md = markdown.Markdown(safe_mode='escape',extensions=['nl2br'])  
html = md.convert(text) 

如果您有任何想法或可以指出正确的方向,请告诉我。谢谢。

请您参考如下方法:

尝试在行尾添加两个或更多空格以插入 <br/>标签

例子:

hello   
world 

结果

<p>hello <br> 
world</p> 

请注意,在单词 hello 之后有两个空格。只有在行尾的两个空格之前有一些文本时,这才有效。但这与您的 nl2br 扩展无关,这是 Markdown 标准。

我的建议是,如果您没有明确要求进行这种转换,就不要进行。使用段落别名 <p> -tags 是分隔文本区域的更简洁的方法。

如果您只是想在 <h3> 之后有更多空间headlines 然后为它定义一些 css:

h3 { margin-bottom: 4em; } 

图像,如果你用 <br> 做间距- 在你所有 500 个 wiki 页面的标题后面加上标签,后来你决定它的 20px 空间太大了。然后您必须手动编辑所有页面并删除两个 <br> - 每个页面上的标签。否则,您只需编辑 css 文件中的一行即可。