【问题标题】:Extra line breaks being displayed after SQL storageSQL 存储后显示额外的换行符
【发布时间】:2013-02-08 11:31:40
【问题描述】:

我目前正在 Windows 上用 Python(使用 web.py)开发这个,并使用最新的 Chrome。

简单测试:

  1. 向用户显示带有组件的基本 Web 表单。
  2. 表单提交时,这个textarea的内容被放到了一个MySql表中,不做修改。
  3. 稍后,用户返回以编辑他们上次提交的内容。
  4. 然后我展示了一个新表单,文本区域直接从数据库中填充以进行修改 - 阻止处理 HTML,因此显示标签。
  5. 但是,当重新向用户显示时,每行现在在每行之间都有一个额外的(不需要的)换行符。

我怎样才能防止这种情况发生?

例如:

提交的文本:

Line 1
Line 2

重新显示时,文本如下:

Line 1

Line 2

我知道这将是某种 CR LF 问题,但无法完全解决。 我尝试转换为<br />,但这只是显示<br /> 文本而不是实际的换行符。 我也不想在将文本放入数据库之前对其进行修改。 但我想我确实需要一些东西来补偿各种不同显示换行符的操作系统。

我在这里阅读了许多类似的问题,但它们主要是 PHP,或者谈论 nl2br,这无论如何都不是解决方案。

【问题讨论】:

    标签: python mysql web textarea line-breaks


    【解决方案1】:

    如果您使用print 输出文本,请在语句末尾附加逗号以删除换行符。

    例如

    print 'Some Text',
    

    可能是您的打印文本中已经有一个换行符,并且不需要从打印中额外附加一个。

    如果没有,请尝试在您的字符串上使用 .rstrip('\n') 以删除任何换行符。

    【讨论】:

      猜你喜欢
      • 2018-11-10
      • 2020-10-12
      • 2019-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-14
      • 1970-01-01
      • 2023-04-01
      相关资源
      最近更新 更多