如何禁用CKEditor自动添加“a”标签

3

我正在使用Visual Studio 2015社区版,在我的程序中,CKEditor 3.6.3存在问题,它会自动在span标签内添加'a'标签(即锚点),导致我的动态页面显示不正常。

我在数据库中首次添加记录时,动态HTML代码如下:

<div>
<a>
<span>something</span>
<span>soemthing</span>
<p>something</p>
<span>
<span>Some details</span>
</span>
</a>
<a>  
<span>View detail</span>
<span>some text</span>
<p>some text</p>
<span>
<span>Some details</span>
</span>
</a>
</div>

当我要编辑代码时,CKEditor 中出现的 HTML 代码如下:

<div>
<a>
<span>some text</span>
<span>some text</span> </a>
<p>
<a>Some Text</a>
</p>
<a>
<span>
<span>Some details</span>
</span>
</a>
<a>some text</span>
<span>Some Text</span>
</a>
<p>
<a>some text</a>
</p>
<a>
<span>
<span>View details</span>
</span>
</a>
</div>

除了我自己编写的'a'标签,CKEditor会自动添加额外的锚点标签。现在我该如何告诉CKEditor不要添加额外的'a'标签呢?

我的config.js文件中有以下条目:

CKEDITOR.editorConfig = function( config )
{
    // Define changes to default configuration here. For example:
    // config.language = 'fr';
    // config.uiColor = '#AADC6E';
    config.removePlugins = 'flash,save,newpage,print,preview';
    allowedContent = true;
    config.enterMode = CKEDITOR.ENTER_BR;
    //autoParagraph = false;
    //config.protectedSource.push(/(]+>[\s|\S]*?<\/asp:[^\>]+>)|(]+\/>)/gi);
};
CKEDITOR.dtd.$removeEmpty['i'] = false

请尽快提供解决方案。 谢谢。

互联网上有很多种 CKEditor。你使用的是哪一种? - Pooria
@pooria taghizadeh 我正在使用来自 ckeditor.com 提供的开源编辑器 ckeditor 3.6.3。 - Mahavirsinh Padhiyar
你能展示一下 CKEditorconfig 吗? - Parkash Kumar
@ParkashKumar,我已经更新了我的问题,请看一下。 - Mahavirsinh Padhiyar
你是不是在错误地使用allowedContent?请先移除它,然后再试一下。 - Parkash Kumar
@ParkashKumar没有通过删除allowedContent来解决我的问题。 - Mahavirsinh Padhiyar
1个回答

2

这不是一个正确的解决方案,但目前这个技巧可以帮我短期解决问题。

在我的情况中,我注意到CKEditor会自动在发现'p'标签时添加'a'标签。 所以我只需将'p'标签更改为'pp',这样CKEditor就会忽略'p'标签,我的内容也不会被CKEditor更新,除非我再次更改它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接