将带有换行符的字符串从SQLIte插入javascript

时间:2015-06-26 18:03:09

标签: javascript python regex sqlite

我有一个SQlite数据库,它从HTML表单接收数据。如果按下回车键,则当然会将其插入数据库。

在另一页上,数据库中的信息放在textarea中。一切正常,但是当有换行符时,这不起作用,文本也没有插入到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 += '',则根本没有换行符,所有文字都显示在一行上。所以我已经研究了如何进行换行,但现在你怎么只显示像下划线那样:

Line 1
Line 2
Line 3

而不是显示两个:

Line 1

Line 2

Line 3

1 个答案:

答案 0 :(得分:0)

  

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

这实际上不需要JS,也不依赖于黑化数据存储。由于HTML将所有空格基本相同,请尝试使用实体作为换行符,即

SETLOCAL enableextensions enabledelayedexpansion
:::
pushd %filepath%
FOR %%F in ("*.dxf") DO (
  set "fname=%%~nF"
  set "fmatch="
  set "char04=!fname:~3,1!"
  set "char10=!fname:~9,1!"
  if /I "!char04!"=="T" (
    FOR %%S in (A B C D) do if /I "!char10!"=="%%S" set "fmatch=!fname!"
  )
  if defined fmatch (
     echo Converting %%~nxF to PDF, size !char10!
     rem another stuff here
  )
)
popd

Here's a little more info

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