kindeditor及其他现在编辑器获取文章内容中的图片标签及其src实现

来源:互联网 发布:淘宝宝贝详情宽度 编辑:程序博客网 时间:2024/06/07 14:34

近日,需要实现获取editor中的内容中的图片,罗列出这些图片,选择其中一张作为焦点新闻的焦点图。后来在网上搜到两个正则表达式,搞定了该问题。

匹配出<img/>标签的正则:  /<img.*?(?:>|\/>)/gi

匹配src的正则:  /src=[\'\"]?([^\'\"]*)[\'\"]?/i

var imgReg = /<img.*?(?:>|\/>)/gi;var srcReg = /src=[\'\"]?([^\'\"]*)[\'\"]?/i;function getImgSrc(){//添加到div时先清空该div中内容$("#image_show_div").empty();var str = contentValue.html();//这是从kindeditor中读出的content内容,测试时可以先指定一串字符串
str = '<p>asdf<img src="/cxzy_manage/attached/image/20131030/20131030172732_949.jpg" alt="" />asdfasdfasdf</p><p><img src="/cxzy_manage/attached/image/20131030/20131030172732_397.gif" alt="" />aasdfasdf</p><p><br /></p><p><img src="/cxzy_manage/attached/image/20131030/20131030172732_869.gif" alt="" />adsfasdf</p><p><img src="/cxzy_manage/attached/image/20131030/20131030172732_918.gif" alt="" />asdfasdf<p><img src="/cxzy_manage/attached/image/20131030/20131030172732_621.gif" alt="" /></p><p><br /></p>';
//匹配图片(g表示匹配所有结果i表示区分大小写)//匹配src属性var arr = str.match(imgReg);if(arr == null){alert("新闻内容中还未上传图片,请先上传再设置,谢谢!");return;}//alert('所有已成功匹配图片的数组:'+arr);for (var i = 0; i < arr.length; i++) {if(i==0) checkStr = 'checked="checked"'; else checkStr = '';//控制第一个radio为选中状态    var src = arr[i].match(srcReg);$("#image_show_div").append("<label style='cursor:pointer;'>"+arr[i]+"<input "+checkStr+" type='radio' name='cover_image' value='"+src[1]+"'/></label>");    //获取图片地址    if(src[1]){       //alert('已匹配的图片地址'+(i+1)+';:'+src[1]);    }    //当然你也可以替换src属性    if (src[0]) {       // var t = src[0].replace(/src/i, "href");        //alert(t);    }}}

PS:测试代码0积分下载地址:http://download.csdn.net/detail/he20101020/6517317

原创粉丝点击