我在Windows8.1OS中安装了VisualStudio2012Express,并根据需要在我的项目中使用CKEditor。
我是CKEditor的新手,也以适当的方式使用它,但问题是在CKEditor源代码中定义html,它会自动替换。
<div><i class="classname"></i></div>
使用
<div> </div> or <div></div>
那么,如何防止CKEditor不替换它并保存它呢?我已经找到了一些解决办法,但仍然有一些小错误。
<i class="classname"></i>
使用
<div class="classname"></div>
但是在标签之间它会自动添加标记。
如何防止它不添加
在下面的图片中,CKEditor是打开的,您可以看到在圆角区域,它会自动在我的代码中添加一些空间或选项卡。
怎样才能阻止这一切?
发布于 2016-02-23 12:35:12
看看这篇文章:人物
经过一些研究,我可能会澄清这个问题--不幸的是,没有现成的解决方案。 在CKEditor中有四种不间断空间可以发生(谁知道更多?):
config.forcePasteAsPlainText = true;
帮不上忙。摘要:要摆脱所有没有中断的空间,您需要编写一个额外的函数来清理用户输入。
非常感谢您的评论和进一步建议!(我用的是ckeditor 3.6.4)
编辑#1
看看这个。
CKEDITOR.dtd.$removeEmpty.i= 0;
您也可以将其与span和其他标记一起使用。
停止删除CKEditor中的任何空标记 有一个定义好的标签列表,如果为空将被删除(请参见dtd.js和$removeEmpty,或者从控制台运行CKEDITOR.dtd.$removeEmpty )。
为了确保某些空标签没有被删除,添加属性‘data-cke-survive’:
或者您可以配置特定的标记,不移除:
如果(window.CKEDITOR){ CKEDITOR.on('instanceCreated‘),函数(ev) {CKEDITor.dtd.$removeEmpty’‘span’= 0;CKEDITor.dtd.$CKEDITOR.on‘CKEDITOR.on’‘TAG NAME’= 0;}}
通过将CKEDITOR.dtd.$removeEmpty中的元素设置为0,可以防止CKEditor删除空标记。
发布于 2016-02-23 12:36:45
这个主题可以帮助https://stackoverflow.com/
简而言之,您可以禁用配置中的空块的自动填充:
config.fillEmptyBlocks = false;
更多信息- 这里
UPD。
你可以试试这个config.protectedSource.push(/<i[^>]*><\/i>/g);
来自正式文件
{Array}自: 3.0以来的CKEDITOR.config.protectedSource 在输入HTML上执行的正则表达式列表,指示匹配时不能在WYSIWYG模式下进行编辑的HTML源代码。 config.protectedSource.push( /<\s*?\?>/g );// PHP代码 config.protectedSource.push( /<%\s*?>/g );// ASP代码 config.protectedSource.push( /()+>\s区\s\s*?+>)x(]+/>/gi );// ASP.Net代码
UPD 2
希望这能帮上忙。
CKEDITOR.on( 'instanceReady', function( ev )
{
// turn off excess line breaks in html output formatting for blockquote tag.
// In same way you can correct any tag output formating
ev.editor.dataProcessor.writer.setRules( 'blockquote',
{
indent : false,
breakBeforeOpen : false,
breakAfterOpen : false,
breakBeforeClose : false,
breakAfterClose : true
});
});
发布于 2019-09-24 05:57:12
对于使用UniSharp/laravel-ckeditor的人来说
<script>
var options = {
fillEmptyBlocks: false,
};
CKEDITOR.replace( 'content', options);
</script>
https://stackoverflow.com/questions/33164316
复制相似问题