kindeditor不能直接复制ctrl+v黏贴图片,这个应该怎么实现
1个回答
展开全部
不仅仅是kindeditor,我测试过了包括discuzX2.5也存在这样的问题。在我们程序员开来,如果要编辑器中使用一张图片需要分两步。
1.首先是通过编辑器上的上传图片功能上传图片;
2.然后将图片的url地址插入到img标签中即可。
这是我们再熟悉不过的流程了。但是对于那些经常上网却还是网盲的人不这么认为,他们会直接将自己电脑的图片通过复制粘贴的方式直接弄到编辑器中,而现在的编辑器基本上都支持这种功能,那样就会出现编辑器中被插入了大量的图片编码,如以下代码:
<?php
$string = '<img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCABNAUADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6" alt="" /><br />';
发这么多垃圾代码,只是想说明一个事实。
如果不对这些代码过滤,就会将代码直接存入你的数据库中,这不仅会不利于管理用户的图片,也会占用很大的磁盘空间。关键是这些代码放到数据库中没有啥用啊。
因此,就需要对这些代码进行过滤,解决方案如下,用户提交的时候进行正则替换掉这些代码
preg_replace("/src=\"data:image(.+?)\"/", '',$string);//$string代表用户提交的文本内容
过滤后的结:
<img alt="" />
1.首先是通过编辑器上的上传图片功能上传图片;
2.然后将图片的url地址插入到img标签中即可。
这是我们再熟悉不过的流程了。但是对于那些经常上网却还是网盲的人不这么认为,他们会直接将自己电脑的图片通过复制粘贴的方式直接弄到编辑器中,而现在的编辑器基本上都支持这种功能,那样就会出现编辑器中被插入了大量的图片编码,如以下代码:
<?php
$string = '<img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCABNAUADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6" alt="" /><br />';
发这么多垃圾代码,只是想说明一个事实。
如果不对这些代码过滤,就会将代码直接存入你的数据库中,这不仅会不利于管理用户的图片,也会占用很大的磁盘空间。关键是这些代码放到数据库中没有啥用啊。
因此,就需要对这些代码进行过滤,解决方案如下,用户提交的时候进行正则替换掉这些代码
preg_replace("/src=\"data:image(.+?)\"/", '',$string);//$string代表用户提交的文本内容
过滤后的结:
<img alt="" />
追问
看来是同道中的大神啊,我想从开始问下,我用K.event.ctrl(document, 86, function(){})绑定ctrl+v事件无效,应该怎么弄啊
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询