げんしでコメントの内容を出力したいのですが、改行をHTMLの段落に変換する方法がわかりません。
これがどのように見えるべきかのテストケースです:
入力:'foo\n\n\n\n\nbar\nbaz'
出力:<p>foo</p><p>bar</p><p>baz</p>
私はこの機能をどこでも探しました。genshi や python の std lib には見つかりませんでした。TG1.0を使用しています。
げんしでコメントの内容を出力したいのですが、改行をHTMLの段落に変換する方法がわかりません。
これがどのように見えるべきかのテストケースです:
入力:'foo\n\n\n\n\nbar\nbaz'
出力:<p>foo</p><p>bar</p><p>baz</p>
私はこの機能をどこでも探しました。genshi や python の std lib には見つかりませんでした。TG1.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')])
私のソリューションはTG2ですが、バックポートするか、単にWebヘルパーに依存することができますが、IMOの他のすべての実装には欠陥があります。
nl2br と format_paragraphs の両方のコンバーター モジュールを見てください。