【问题标题】:Inserting strings with line breaks from SQLIte into javascript将带有换行符的字符串从 SQLIte 插入到 javascript
【发布时间】:2015-09-13 18:39:32
【问题描述】:

我有一个从 HTML 表单接收数据的 SQlite 数据库。如果按下回车键,那么它当然会被插入到数据库中。

在另一个页面上,来自数据库的信息被放置在一个文本区域中。一切正常,但是当有换行符时,这不起作用并且文本不会插入到 textarea 中。

我正在使用 Python 框架 Flask 将 SQlite 数据输入到 javascript 中,然后输入到 HTML 中。

我尝试过的:

我尝试将换行符替换为文本 '\n',以便 javascript 解析换行符。我在 python 中使用正则表达式尝试了这个:

Python:

def removeLineBreaks(text):
    return re.sub(r'(\r\n|\n|\r)', "\\n", text)'

所以问题是,如何通过来自 SQLite 数据库的 javascript 将换行符放入 HTML 表单(与任何其他字符一样)?

更新:

我做了一个函数来转换 SQLite 数据库中的换行符:

def removeLineBreaks(text) :
    newText = ''
    for char in text:
        if char == '\r\n' or char == '\r' or char == '\n':
            newText += '\\n'
        else:
            newText += char
    return newText

但是,不是一个换行符,而是两个换行符,因此有一个空行。如果我将newText += '\\n' 替换为newText += '',则根本没有换行符,所有文本都出现在一行上。所以我已经想出了如何进行换行,但现在你如何只显示一个像 break 这样的:

Line 1
Line 2
Line 3

而不是显示两个like:

Line 1

Line 2

Line 3

【问题讨论】:

    标签: javascript python regex sqlite


    【解决方案1】:

    所以问题是,如何通过来自 SQLite 数据库的 javascript 将换行符放入 HTML 表单(与任何其他字符一样)?

    这个其实不需要JS,也不依赖黑化数据存储。由于 HTML 对所有空格的处理基本相同,因此请尝试使用实体作为换行符,即

    <textarea>Line one&#10;Line 2</textarea>
    

    Here's a little more info

    现在,如何让 Jinja 将换行符作为 HTML 实体发出是一个不同的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-14
      • 2013-05-23
      • 1970-01-01
      • 1970-01-01
      • 2014-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多