防止CKeditor通过正则表达式或在两个字符之间应用html转义实体

防止CKeditor通过正则表达式或在两个字符之间应用html转义实体,ckeditor,Ckeditor,所以我有一个短代码系统,即 [foo bar=1 foobar="2"] 将通过ckeditor进行编辑 如何防止CKeditor转义“[”和“]”中的任何实体 i、 e,引号导致“,空格导致”,因为结果可以是 [foobar=1foobar=“2”] 这自然打破了短代码 像我现在的大多数答案一样……你能发布和预处理内容吗?如果是这样的话,字符串就可以用一个小部件来表示了!听起来非常适合这个小部件 因此,在将内容加载到CKE之前,请将内容转换为例如[foo x=“1”y=2]到[somethi

所以我有一个短代码系统,即

[foo bar=1 foobar="2"]
将通过ckeditor进行编辑

如何防止CKeditor转义“[”和“]”中的任何实体

i、 e,引号导致“,空格导致”,因为结果可以是 [foobar=1foobar=“2”]

这自然打破了短代码


像我现在的大多数答案一样……你能发布和预处理内容吗?如果是这样的话,字符串就可以用一个小部件来表示了!听起来非常适合这个小部件


因此,在将内容加载到CKE之前,请将内容转换为例如
[foo x=“1”y=2]
[something]
。然后,您将拥有自己定制的小部件,如有必要,可以编辑x和y以及任何其他需要编辑的内容。然后从CKE获取内容后/保存内容前,转换
$('.mywidget'))
返回到字符串!

除了x=1等这一点是用户可编辑的,而不必进入源代码…这就是问题所在!@Neokoenig是的,我确实是。有了小部件,它们可以以非常GUI/wysiwyg的方式进行编辑:)。它可以有自定义数据编辑器、输入字段类型和其他优雅的功能。这是一项工作嗯,这是缺点。工作量很大程度上取决于数据的处理方式以及属性的不同可能性和数据源。是的,它可能会工作,但正如你所说,这是一项艰巨的工作(我可能有数百种不同的短代码,我需要在小部件中有重复的逻辑。加上服务器端ajax-y的东西来获取数据等。)您可以简化小部件,只需将其设置为:并为整个短代码设置一个可编辑字段。@Lathan非常正确!事实上,我认为一些WordPress短代码插件的做法与您的建议类似,因为短代码只是可以用widgety方式编辑的字符串。就我个人而言,我不相信我的用户能够提供一个可编辑的短代码他们有如此多的控制权的字符串:)。你有没有想出一个不涉及创建小部件的解决方案?