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;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: 首先在编辑器里面插入javascript代码: 确定后会在编辑器插入这样的代码: <pre
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代码高亮,因为SyntaxHighlighter的应用非常广泛,所以将kindeditor默认的prettify替换为SyntaxHighlighter代码高亮插件 上一篇“让kindeditor显示高亮代码”中已经
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高
JS对象如何转为json格式字符串
JS怎么获取图片原始宽高
怎么在click事件中调用多个js函数
js如何往数组中添加新元素
js如何拆分字符串
JS怎么对数组内元素进行求和
JS如何判断屏幕大小
js怎么解析json数据
js如何实时获取浏览器窗口大小
原生JS实现别踩白块小游戏(五)
原生JS实现别踩白块小游戏(一)