Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在文本区域中输入渲染换行符_Javascript_Html_Node.js_Sql Server_Vue.js - Fatal编程技术网

Javascript 在文本区域中输入渲染换行符

Javascript 在文本区域中输入渲染换行符,javascript,html,node.js,sql-server,vue.js,Javascript,Html,Node.js,Sql Server,Vue.js,在我的网站上,我创建了一个页面,用户可以在其中写入文本区域。textarea的内容随后存储到我的SQL SERVER数据库中。在另一个页面上,我显示数据库中的所有新闻 到目前为止,我没有考虑CRLF的角色。因此,如果用户输入带换行符的文本,文本将显示在一行上 例如,用户输入 你好 我是鲍勃 结果将是: 你好,我是鲍勃 当我将文本显示到vue组件content.replace(/([^\r]|^)\n/g,“$1\r\n”)中时,我尝试使用replace()函数,但它将文本显示在一行上 我还尝试将

在我的网站上,我创建了一个页面,用户可以在其中写入文本区域。textarea的内容随后存储到我的SQL SERVER数据库中。在另一个页面上,我显示数据库中的所有新闻

到目前为止,我没有考虑CRLF的角色。因此,如果用户输入带换行符的文本,文本将显示在一行上

例如,用户输入

你好

我是鲍勃

结果将是:

你好,我是鲍勃

当我将文本显示到vue组件
content.replace(/([^\r]|^)\n/g,“$1\r\n”)中时,我尝试使用
replace()
函数,但它将文本显示在一行上

我还尝试将
/([^\r]|^)\n/g
替换为
CHAR(13)
,但得到了相同的结果

下面是我的代码示例

index.html

<html>
  <head>
    <meta charset="utf-8">
    <link rel="stylesheet" type="text/css" href="admin.css">
  </head>
  <body>
      <div class="list">
        <info-generale
          v-for="post in posts"
          v-bind:post="post"
        ></info-generale>
      </div>

      <form class="newPost" action="/newPost" method="POST">
        <textarea id="contentInput" name="contentInput" cols="40" rows="5" required></textarea>
        <button type="submit">Submit</button>
      </form>

    <script src="../js/vue.js"></script>
    <script src="../js/vue-resource.min.js"></script>
    <script type="text/javascript" src="admin.js"></script>
  </body>
</html>
DAO.js

async newPost(title, content) {
        try {
            await sql.query('INSERT INTO PROFACE.dbo.Posts (title, content) VALUES (\'' + title.replace(/'/gi,"''")+ '\', \''+content.replace(/'/gi,"''")+'\')').then(value => {
                return true;
            });
        } catch (e) {
            console.log(e);
            return false;
        }
    }

默认情况下,HTML忽略几乎所有空白字符。您需要将内容包装在
标记中,或者将包装
p
元素样式更改为包含
空白:pre

server.app.post("/newPost", function(req, res) {
    try {
        dao.newPost(req.body.contentInput).then(value => {
                res.redirect('/');
        })
    } catch (e) {
        console.log(e);
    }
})
async newPost(title, content) {
        try {
            await sql.query('INSERT INTO PROFACE.dbo.Posts (title, content) VALUES (\'' + title.replace(/'/gi,"''")+ '\', \''+content.replace(/'/gi,"''")+'\')').then(value => {
                return true;
            });
        } catch (e) {
            console.log(e);
            return false;
        }
    }