javascript清理百度ueditor在线编辑器的title和alt属性,为umeditor添加加alt属性

《javascript清理百度ueditor在线编辑器的title和alt属性,为umeditor添加加alt属性》要点:
本文介绍了javascript清理百度ueditor在线编辑器的title和alt属性,为umeditor添加加alt属性,希望对您有用。如果有疑问,可以联系我们。

相关主题:JS、Jquery插件 / ueditor在线编辑器

百度的ueditor会为上传的图片自动添加title,但是title值和alt值分别是图片在服务器上和本地电脑上的名称。因为需要改为文章标题。

之前我们发过PHP版的服务端处理程序。http://www.jb51.cc/jiaocheng/83.html

现在我们改编成javascript版的函数,让这个功能能在前端处理,节省服务端资源消耗。

使用方法:

在UE或UM编辑器触发blur事件时执行。你需要写一个小函数,就是取到编辑器内容,然后用本函数过滤,再写回编辑器

函数自由分享,转发请保留 http://www.jb51.cc 尊重别人的劳动成果,谢谢。

/**
 *  清理ueditor内容中图片名title和alt,给UMeditor内容添加alt
 *  http://www.jb51.cc 编程之家
 * @param content  文章内容
 * @param artTitle  文章内容标题,也就是要做为img的title属性值
 * @param clearTitle  是否保留title属性,1-不保留,只要alt属性,2保留
 * @returns {*}
 */
function resetUMcontent(content, artTitle ,clearTitle)
{
       var useSn = true;   //是否把标题加入到alt时,尾部加上序列号
       var artTitle = artTitle || '';
       //var clearTitle=1;  //是否保留title属性,1-不保留,只要alt属性,2保留

       var titleLen = artTitle.length;
       var sn=1;
       //清理title
       var reg = /(<img[^>]* )(title\s*=\s*[\'\][^\'\]*[\'\])([^>]*>)/ig;
       while (clearTitle && (title = reg.exec(content)) != null)
       {
              sn = useSn ? sn++ : '';
              titleTag = (clearTitle>1 && titleLen >0 ) ?  ' title='+ artTitle + sn + ' ' : ' ';
              newImgCode = $.trim( title[1]) + titleTag +$.trim( title[3]);  //trim(title[1])
              content = content.replace(title[0], newImgCode);
       }
       //清理alt
       //处理alt,保留以利SEO
       reg = /(<img[^>]* )(alt\s*=\s*[\'\][^\'\]*[\'\])([^>]*>)/ig;
       while (clearTitle && (alt = reg.exec(content)) != null)
       {
              sn = useSn ? sn++ : '';
              altTag = titleLen>0 ?  ' alt=' + artTitle+sn+' ' : ' ';
              newImgCode = alt[1] + altTag + alt[3];  //trim(title[1])
              content = content.replace(alt[0], newImgCode);
       }
       if(titleLen==0) return content;

       //处理无alt和title的,适用于UM
       reg = /<img [^>]+>/ig;
       while ((res = reg.exec(content)) != null)
       {
              if( res[0].indexOf(' alt')!=-1 ||res[0].indexOf(' title')!=-1 ) continue;
              sn = useSn ? sn++ : '';
              altTag =  ' alt=' + artTitle+sn+' ';
              newImgCode = res[0].replace('<img', '<img'+altTag);
              content = content.replace( res[0], newImgCode);
       }

       return content;
}

相关文章

kindeditor4.x代码高亮功能默认使用的是prettify插件,prett...
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代...
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小