我想知道是否有任何方法可以将纯 unicode 字符串转换为 Genshi 中的 HTML,例如,它将换行符呈现为<br/>
.
我希望这能够呈现在文本区域中输入的一些文本。
提前致谢!
如果 Genshi 像 KID 一样工作(它应该),那么你所要做的就是
${XML("<p>Hi!</p>")}
我们有一个小函数可以从 wiki 格式转换为 HTML
def wikiFormat(text):
patternBold = re.compile("(''')(.+?)(''')")
patternItalic = re.compile("('')(.+?)('')")
patternBoldItalic = re.compile("(''''')(.+?)(''''')")
translatedText = (text or "").replace("\n", "<br/>")
translatedText = patternBoldItalic.sub(r'<b><i>\2</i></b>', textoTraducido or '')
translatedText = patternBold.sub(r'<b>\2</b>', translatedText or '')
translatedText = patternItalic.sub(r'<i>\2</i>', translatedText or '')
return translatedText
您应该根据自己的需要对其进行调整。
${XML(wikiFormat(text))}
也许使用<pre>
标签。
如果有人感兴趣,这就是我解决它的方法。这是数据发送到genshi模板之前的python代码。
from trac.wiki.formatter import format_to_html
from trac.mimeview.api import Context
...
context = Context.from_request(req, 'resource')
data['comment'] = format_to_html(self.env, context, comment, True)
return template, data, None