《javascript清理百度ueditor在线编辑器的title和alt属性,为umeditor添加加alt属性》要点:
本文介绍了javascript清理百度ueditor在线编辑器的title和alt属性,为umeditor添加加alt属性,希望对您有用。如果有疑问,可以联系我们。
相关主题:JS、Jquery插件 / ueditor在线编辑器
百度的ueditor会为上传的图片自动添加title,但是title值和alt值分别是图片在服务器上和本地电脑上的名称。因为需要改为文章标题。
之前我们发过PHP版的服务端处理程序。http://www.vephp.com/jiaocheng/83.html
现在我们改编成javascript版的函数,让这个功能能在前端处理,节省服务端资源消耗。
使用方法:
在UE或UM编辑器触发blur事件时执行。你需要写一个小函数,就是取到编辑器内容,然后用本函数过滤,再写回编辑器。
函数自由分享,转发请保留 http://www.vephp.com 尊重别人的劳动成果,谢谢。
- /**
- * 清理ueditor内容中图片名title和alt,给UMeditor内容添加alt
- * http://www.vephp.com 维易PHP
- * @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;
- }
转载请注明本页网址:
http://www.vephp.com/jiaocheng/84.html