我的软件允许人们将图像上传到我网站上的“文件”部分。我想允许用户将这些图像插入到 CKEditor 4 实例中,但我想控制这些图像的托管位置。
而不是插入以下内容:
<img src="http://domain.com/image.jpg" />
我希望它插入:
<img src="[file:12345678]" />
然后我可以使用 PHP 来控制将在网站上显示的 URL。
问题是,在 CKEditor 的 WYSIWYG 视图中,它显示为找不到图像。无论如何我可以创建一个插件,[file:12345678]
在所见即所得视图中用图像代码替换,但在源视图中它恢复为[file:12345678]
?
有点像BBCode插件的工作方式。当您转到源视图时,您会看到:
The [b]brown fox[/b] jumped over the log
但是您看到的编辑器视图:
棕狐跳过原木
我试图从 BBCode 插件中计算出代码,但 BBCode 解析器似乎是内置的。
我找到了以下代码,但它仅适用于源视图。我似乎无法找出所见即所得视图是否有类似的功能。
editor.dataProcessor.htmlFilter.addRules(
{
elements :
{
img : function( element )
{
// I can get the src of any image and then replace it.
element.attributes.src
}
}
});
感谢您提供的任何建议;)