gpt4 book ai didi

javascript - 未捕获的语法错误 : Unexpected token ILLEGAL multiple string

转载 作者:行者123 更新时间:2023-12-02 18:34:09 35 4
gpt4 key购买 nike

首先:我知道有数百篇文章/问题具有相同的标题或与此类似,但让我解释一下我想要实现的目标以及我的问题是什么

我有一个 Markdown 编辑器,我将在其中存储用户的内容,如果他们愿意,可以稍后编辑该内容。

因此,就我而言,我使用 elasticsearch 来存储所有用户的内容。

存储信息对我来说根本不是问题,但必须检索它并重新显示是一个大问题,我现在正在尝试解决这个问题很多小时。

<小时/>

使用这个 Markdown 编辑器,用户可以毫无限制地输入一些内容,我不确定这是否是我的 Markdown 编辑器错误处理所有这些内容的方式,但换行符在这里是一个大问题。

如果用户输入类似这样的内容

#Hello World

#Here you see I have two extra lines

#How about a video element here as well?


<iframe width="420" height="315" src="//www.youtube.com/embed/Uogdn7zWDmY" frameborder="0" allowfullscreen></iframe>

#Damn cool!!

存储它显然没有问题,但是当必须在编辑器上重新显示时

我收到此错误。

Uncaught SyntaxError: Unexpected token ILLEGAL

幸运的是,我可以使用我之前在这里提出的问题中的一些内容来解决这个问题,但是一个问题解决后又出现了另一个问题。

问题的解决方案是这样做

var your_content = '    #Hello World

#Here you see I have two extra lines

#How about a video element here as well?


<iframe width="420" height="315" src="//www.youtube.com/embed/Uogdn7zWDmY" frameborder="0" allowfullscreen></iframe>

#Damn cool!!
';
var replaced_text = your_content.replace(/\n|\s/g, "");

但是使用上述解决方案,所有内容都会像这样显示:

#Hello World #Here you see I have two extra lines #How about a video element here as well? <iframe width="420" height="315" src="//www.youtube.com/embed/Uogdn7zWDmY" frameborder="0" allowfullscreen></iframe> #Damn cool!

因此,代码的格式确实很困惑,这是另一个问题,因为用户显然希望能够编辑他们的代码并具有良好的格式。

我正在使用这个 Markdown 编辑器 http://dillinger.io

我的服务器是:Nodejs,所以我使用的一切都是 JavaScript

更新

这是代码片段:

  var editor
, converter
, autoInterval
, paperImgPath = '/img/notebook_paper_200x200.gif'
, profile =
{
theme: 'ace/theme/idle_fingers'
, showPaper: false
, currentMd: '{{contentMd}}' <---- this is the problem
, autosave:
{
enabled: true
, interval: 3000 // might be too aggressive; don't want to block UI for large saves.
}
, current_filename : 'Filename'
}

无论我将 {{contentMd}} 存储在哪里,我仍然会收到该错误。如果我像这样存储它们

var abcd = '{{contentMd}}';

所以 contentMd 它是从服务器传递的东西,它包含我在顶部发布的所有内容。

最佳答案

我认为发生的事情是这样的:

> var s = 'long string
with carriage return';
SyntaxError: Unexpected token ILLEGAL

这是来自 Chrome 的控制台窗口。

在将字符串粘贴到 javascript 之前,尝试用 '\n' 替换服务器上的所有 \n 字符:

> var s = 'long string\nwith carriage return';
undefined
> s
"long string
with carriage return"

关于javascript - 未捕获的语法错误 : Unexpected token ILLEGAL multiple string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17499565/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com