如何防止ckeditor不添加&;nbsp;在空白html标记中
我已将Visual Studio 2012 Express安装在Windows 8.1操作系统中,并根据要求在项目中使用CKEditor 我对CKEditor还不熟悉,也不熟悉如何正确地使用它,但问题是在CKEditor的源代码中定义html,它会自动替换如何防止ckeditor不添加&;nbsp;在空白html标记中,html,visual-studio-2012,ckeditor,Html,Visual Studio 2012,Ckeditor,我已将Visual Studio 2012 Express安装在Windows 8.1操作系统中,并根据要求在项目中使用CKEditor 我对CKEditor还不熟悉,也不熟悉如何正确地使用它,但问题是在CKEditor的源代码中定义html,它会自动替换 <div><i class="classname"></i></div> 与 或 那么如何防止CKEditor不替换它并按原样保存呢? 我已经有了一些解决方案,但仍然有一点小错误,我正在
<div><i class="classname"></i></div>
与
或
那么如何防止CKEditor不替换它并按原样保存呢?
我已经有了一些解决方案,但仍然有一点小错误,我正在更换
<i class="classname"></i>
与
但在标记之间,它会自动添加
如何防止它不添加
在下图中,CKEditor处于打开状态,您可以看到在圆形区域中,它会自动在我的代码中添加一些空格或制表符
如何阻止这种情况
看看这篇文章:
经过一些研究,我可能会对这个问题有所了解-
不幸的是,没有现成的解决方案
在CKEditor中,有四种方式可以产生无中断空间(有人知道更多吗?)
config.fillEmptyBlocks = false;
config.tabSpaces = 0;
config.fillEmptyBlocks = false;
config.fillEmptyBlocks = false;
config.tabSpaces = 0;
config.fillEmptyBlocks = false;
CKEDITOR.dtd.$removeEmpty.i= 0;
您还可以将其与span和其他标记一起使用
停止删除CKEditor中的任何空标记
有一个定义的标签列表,如果
空(请参阅dtd.js和$removempty或运行CKEDITOR.dtd.$removempty
从控制台)
- 从HTmL
<span data-cke-survive="true" ></span>
通过在CKEDITOR.dtd.$removempty中将元素设置为0,它将
防止CKEditor删除空标记
此主题非常有用 简而言之,您可以在配置中禁用空块的自动填充:
config.fillEmptyBlocks = false;
config.tabSpaces = 0;
config.fillEmptyBlocks = false;
更多资料-
UPD
你可以试试这个config.protectedSource.push(/]*>/g)代码>
从
{Array}CKEDITOR.config.protectedSource自:3.0
要在输入HTML上执行的正则表达式列表,指示HTML源代码,当匹配时,在所见即所得模式下不能用于编辑
config.protectedSource.push(//g);//PHP代码
config.protectedSource.push(//g);//ASP代码
config.protectedSource.push(/(]+>[\s |\s]*?]+>)|(]+/>)/gi);//ASP.Net代码
UPD 2
希望这会有所帮助
CKEDITOR.on('instancerady',函数(ev)
{
//关闭blockquote标记的html输出格式中多余的换行符。
//同样,您可以更正任何标记输出格式设置
ev.editor.dataProcessor.writer.setRules('blockquote',
{
缩进:假,
在打开之前先打开:错误,
breakAfterOpen:false,
breakBeforeClose:false,
breakAfterClose:对
});
});使用UniSharp/laravel ckeditor的用户的代码>
<script>
var options = {
fillEmptyBlocks: false,
};
CKEDITOR.replace( 'content', options);
</script>
变量选项={
fillEmptyBlocks:false,
};
CKEDITOR.replace('content',选项);
否,当我开始写作时,顶部的答案不存在。抱歉,如果这看起来像robbery@MamikonArakelyan我试过了,但在代码中没有效果。它用空白覆盖它。@ PADHIYAR尝试这个“代码> CONFIG.Puto CeDelase.Pube(//*> /G);<代码>在您的config@MamikonArakelyan哇,很好,现在它正在工作,但它是如何工作的,你能简单地告诉我,请@padhiyar此选项将元素添加到数组中,编辑器不应触摸这些元素。他们正在设置正则表达式,尝试了你的解决方案,但没有得到结果,它仍然用空白代替。我已经更新了这个问题,请仔细检查。是的,它现在正在运行,但是对于每个html标记,像我一样,我必须把这行!嗨,凯马特曼,还有一个问题出现在“一些报价来了”中,它在报价前后添加了“所以它在我的页面中占用了一些空间。”。如何删除此项?请尝试“config.entities=false”;哦,Mamikon Arakelyan的速度更快。