json - 如何使用 redactor.js 插入单引号?

标签 json redactor

我正在使用 redactor 8.2.2 构建一个小型自定义插件来自定义链接。

这是我想要实现的目标的示例:

var insertText = "<a href='#target' data-rel='{\"key\":\"value\"}'>text</a>";

/* later in the code... */
this.execCommand('insertHtml', insertText);

我最终在编辑器中得到了这段代码:

<a href="#target" data-rel="{&quot;key&quot;:&quot;value&quot;}">text</a>

最终用双引号保存在数据库中,导致进一步的麻烦:

<a href="#target" data-rel="{"key";"value"}">text</a>

有没有办法强制使用单引号?

我也尝试使用insertHtmlAdvanced,但没有插入链接。

编辑__

问题似乎不在于 insertText 的格式化方式。无论格式是什么,如果 data-rel 属性在单引号之间显示其值,则会添加双引号。 因此,解决方案可能是为 insertHtml 命令找到解决方法,或者对插入的代码进行后处理。

编辑___

根据 Imperavi 支持,JSON 不应与 data-* 一起使用。我最终找到了一个解决方法,删除 JSON 字符串中的任何引号,然后在解析 data-rel 值之前添加它们。然而,我想这不是最有效和最好的解决方案......

最佳答案

使用这个:

this.execCommand('insertHtml', insertText.replace(/'/g, "\\'"));

关于json - 如何使用 redactor.js 插入单引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18122923/

相关文章:

android - 设计方法 : Android Restful with JSON

javascript - .html() 函数的 Jquery 替换不会尝试在 Redactor imperavi - Xss 漏洞上重写 html

jquery - 从编辑器所见即所得中删除按钮

javascript - 将对象数组更改为带有图表坐标的数组

android - 从 Json 对象 Android 中获取字符串值

php - php和c之间发送数据

c# - 更正 JSON 结果对象

jquery - 编辑器销毁

jquery - Redactor wysiwyg - 为什么从 Word 粘贴不起作用