我有一个 web.py 应用程序,它从文本区域获取输入并将其输入到数据库中。我可以从数据库中获取信息并将其发布到页面,但 NEWLINES 不见了。回发到 HTML 时如何保留换行符?数据确实有 \r\n
在其中,但在 HTML 中未呈现为 NEWLINES。有什么想法吗?这是一个小例子:
(2, u'Title', u'content here...hey\r\nthis\r\nhas\r\nbreaks in it....?',
datetime.datetime(2012, 7, 5, 21, 5, 14, 354516))
那是我从数据库返回的。我需要 \r\n
代表 <br />
如果有两个 <p>
会很棒。任何方向将不胜感激。
还有这方面的图书馆吗?我听说过 markdown 和 mark up 但我找不到如何从 python 字符串发布 html 数据的示例?
最佳答案
实现此目的的两种主要方式。最简单的方法是将输出包装在 <pre></pre>
中这会将其格式化为输入的格式。
或者,您可以用 <br />
替换 newlies| (而不是 <p>
)因为字符代表换行符而不是段落。
对于第二种选择,这是一种方法:
>>> s
'hello\nthere\r\nthis\n\ris a test'
>>> r = '<br />'
>>> s.replace('\r\n',r).replace('\n\r',r).replace('\r',r).replace('\n',r)
'hello<br />there<br />this<br />is a test'
>>>
或者第三种选择——使用众多文本输入库/格式中的一种,并通过它们呈现内容(正如其他人提到的——比如 markdown)。
但是,如果您只想进行简单的替换,那就太过分了。
关于python - 在用户提交的内容中呈现换行符(Python 网络应用程序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11356172/