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

时间:2013-08-08 09:51:37

标签: 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,但未插入任何链接。

EDIT_的 _

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

EDIT_的 _ _

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

1 个答案:

答案 0 :(得分:2)

使用此:

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