今天吐槽一下百度的富文本编辑器UEditor,这种富文本编辑器极大地方便我们上传文件,开发人员无需编写任何上传代码,只需配置几个路径即可。但高度集成的东西有时也显得笨重,灵活度不高。比如:编辑器中我既要插入文字也要插入图片与视频,编辑器中的所有内容均可以HTML代码存到数据表中,这样很方便读取,但我需要单独提取图片与视频的路径地址存到另一张表。此时,就显得极不方便,无法在提交内容的时候顺道获取图片与视频的路径。
解决思路:获取编辑器中的内容,转化为uNode节点,再获取指定Node节点进行遍历,即可任意操作了。
js代码实现:
var root = UE.htmlparser(UE.getEditor('editor' ).getContent(), true); var imgs = new Array(); var imgs = root.getNodesByTagName('img' ); for (i=0;i<imgs.length;i++){ alert(imgs[i].getAttr( 'src')); } |