在临时div封装器中封装短代码进行编辑,然后在保存内容之前将其删除

znemo 发布于 2019-03-09 css 最后更新 2019-03-09 14:31 3 浏览

我正在研究一个shortcodes预览过滤器,在这里我将所有的短代码封装在CSS分类的div中,这些divs仅用于在内容位于tinyMCE编辑器中时进行查看。 我遇到的第一个挑战是如何在保存文档之前从标记中去除包装div。 第二个挑战是如何在保存后每次在编辑器中出现简码时重新应用包装。 我正在寻找一个使用jQuery在负载和保存例程期间解析和过滤TinyMCE编辑器内容的例子。

已邀请:

qnobis

赞同来自:

The first challenge I have is how to strip out the wrapper divs from the markup prior to the document being saved.
这个很容易。只需给你的wrapperDivs一个特殊的类
var ed = tinymce.get('my_editor_id');
$(ed.getBody()).find('div.my_special_class').each(function(){
    $(this).replaceWith(this.innerHTML);
});
The second challenge is how to reapply the wrappers each time a shortcode appears within the editor after a save.
这个更难回答。这取决于检测短代码的难度。