3

げんしでコメントの内容を出力したいのですが、改行をHTMLの段落に変換する方法がわかりません。

これがどのように見えるべきかのテストケースです:

入力:'foo\n\n\n\n\nbar\nbaz'

出力:<p>foo</p><p>bar</p><p>baz</p>

私はこの機能をどこでも探しました。genshi や python の std lib には見つかりませんでした。TG1.0を使用しています。

4

3 に答える 3

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>'

要求に応じ。

于 2009-08-11T01:35:32.950 に答える
2

Genshi には組み込み関数があるかもしれませんが、そうでない場合は、次のようになります。

output = ''.join([("<p>%s</p>" % l) for l in input.split('\n')])
于 2009-08-10T23:24:38.683 に答える
1

私のソリューションはTG2ですが、バックポートするか、単にWebヘルパーに依存することができますが、IMOの他のすべての実装には欠陥があります。

nl2br と format_paragraphs の両方のコンバーター モジュールを見てください。

于 2009-09-07T01:03:11.733 に答える