qiaoakai 2008-10-13 01:36
浏览 466
已采纳

存储到数据库中的文章,为什么取出来之后就没有换行、空格了?

[color=red]文章在存储到数据库中的时候是不是需要做一些处理呀?如果,直接存储到数据库,然后,在取出之后就没有换行、空格了,整篇文章都没有换行、空格。第一次问问题,希望大家能够帮助一下!![/color]
[b]问题补充:[/b]
我现在使用的数据库是postgres,下面朋友的回答我都试过了,但是,都不能解决我的问题,还有好的回答吗?或者比较详细的?谢谢各位朋友了

  • 写回答

7条回答 默认 最新

  • lgcpeter 2008-10-13 16:19
    关注

    在taxtarea中输入的文本。如果含有回车或空格。在界面上显示的时候则不哪么正常。回车消失了,空格变短了。
    如何解决这个问题呢。有2种方法。
    1.使用

    标签
    w3c对pre元素是这样定义的:pre 元素可定义预格式化的文本。被包围在 pre 元素中的文本通常会保留空格和换行符。而文本也会呈现为等宽字体。
    更详细的内容请参考 http://www.w3school.com.cn/tags/tag_pre.asp
    也就是说包含在pre标签中的回车和空格会正常的显示出来。包括你在页面代码中输入的。所以如果使用pre元素你需要这样写:

    要输出的文本
    ,而不是这样:


    要输出的文本
    后一种写法 文本前的空白也会被显示的。除非你真的希望这样:)
    2.对文本内容进行替换。
    回车和空格不能正确显示,究其原因是他们各自的表示方式不同。在textarea里面输入的回车是字符"\r",html中的回车(换行)是"
    "。
    textarea中输入的空格是空白" ",而html中的一个空格是" "。理所当然不能正确显示。好了现在知道了原因就有了第二种解决方案了。
    只要我们将输入的文本中相应的"元素"替换成html认识的就ok了。因此下面一行代码即可解决问题:

    "要输出的文本".replaceAll(" "," ").replaceAll("\r","
    "); 等等。这里还有一点小问题。把一个空格替换成一个" "空格看上去仍然要少些。如果你喜欢可以替换成2个。

    最后,除了回车和空格以外还有很多空白字符如tab等,如果你喜欢可以一并处理了^_^

    最后的最后,如果本来的文本是很长的一行,使用pre标签后就不会自动换行。结果页面出现横向滚动条。不知道有没有好的解决方法?
    而将第二种方法处理过的文本放在

    标签中显示,就可以显示正常。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥50 树莓派安卓APK系统签名
  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗