我正在尝试使用genshi输出评论的内容,但我无法弄清楚如何将换行符转换为HTML段落。
这是一个应该是什么样子的测试案例:
输入:'foo\n\n\n\n\nbar\nbaz'
输出:<p>foo</p><p>bar</p><p>baz</p>
我到处寻找这个功能。我在genshi或python的std lib中找不到它。我正在使用TG 1.0。
答案 0 :(得分:3)
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>'
根据需要。
答案 1 :(得分:2)
Genshi中可能有内置功能,但如果没有,这将为您完成:
output = ''.join([("<p>%s</p>" % l) for l in input.split('\n')])
答案 2 :(得分:1)
我知道你说TG1我的解决方案是TG2,但可以向后移植或仅仅依赖于webhelpers但是IMO所有其他实现都存在缺陷。
查看converters module nl2br和format_paragraphs。