《javascript清理百度ueditor在線編輯器的title和alt屬性,為umeditor添加加alt屬性》要點:
本文介紹了javascript清理百度ueditor在線編輯器的title和alt屬性,為umeditor添加加alt屬性,希望對您有用。如果有疑問,可以聯系我們。
相關主題:JS、Jquery插件 / ueditor在線編輯器
百度的ueditor會為上傳的圖片自動添加title,但是title值和alt值分別是圖片在服務器上和本地電腦上的名稱。因為需要改為文章標題。
之前我們發過PHP版的服務端處理程序。http://www.snjht.com/jiaocheng/83.html
現在我們改編成javascript版的函數,讓這個功能能在前端處理,節省服務端資源消耗。
使用方法:
在UE或UM編輯器觸發blur事件時執行。你需要寫一個小函數,就是取到編輯器內容,然后用本函數過濾,再寫回編輯器。
函數自由分享,轉發請保留 http://www.snjht.com 尊重別人的勞動成果,謝謝。
/** * 清理ueditor內容中圖片名title和alt,給UMeditor內容添加alt * http://www.snjht.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.snjht.com/jiaocheng/84.html