我正在尝试使用 genshi 输出评论的内容,但我不知道如何将换行符转换为 HTML 段落。
这是一个应该是什么样子的测试用例:
输入:'foo\n\n\n\n\nbar\nbaz'
输出:<p>foo</p><p>bar</p><p>baz</p>
我到处寻找这个功能。我在 genshi 或 python 的标准库中找不到它。我正在使用 TG 1.0。
我正在尝试使用 genshi 输出评论的内容,但我不知道如何将换行符转换为 HTML 段落。
这是一个应该是什么样子的测试用例:
输入:'foo\n\n\n\n\nbar\nbaz'
输出:<p>foo</p><p>bar</p><p>baz</p>
我到处寻找这个功能。我在 genshi 或 python 的标准库中找不到它。我正在使用 TG 1.0。
def tohtml(manylinesstr):
return ''.join("<p>%s</p>" % line
for line in manylinesstr.splitlines()
if line)
例如,
print repr(tohtml('foo\n\n\n\n\nbar\nbaz'))
发出:
'<p>foo</p><p>bar</p><p>baz</p>'
按要求。
Genshi 中可能有一个内置函数,但如果没有,这将为您完成:
output = ''.join([("<p>%s</p>" % l) for l in input.split('\n')])
我知道您说 TG1 我的解决方案是 TG2,但可以向后移植或仅依赖于 webhelpers,但 IMO 所有其他实现都有缺陷。
查看nl2br 和 format_paragraphs的转换器模块。