shuinishop/common/richTextUtil.js

39 lines
1.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 处理富文本里的图片宽度自适应
* 1.去掉img标签里的style、width、height属性
* 2.修改所有style里的width属性为max-width:100%
* 3.img标签添加style属性max-width:100%;height:auto
* 4.去掉<br/>标签
* @param html
* @return string
*/
function formatRichText (html) {
// 去掉img标签里的style、width、height属性
let newContent= html.replace(/<img[^>]*>/gi,function(match,capture){
match = match.replace(/style="[^"]+"/gi, '').replace(/style='[^']+'/gi, '');
match = match.replace(/width="[^"]+"/gi, '').replace(/width='[^']+'/gi, '');
match = match.replace(/height="[^"]+"/gi, '').replace(/height='[^']+'/gi, '');
return match;
});
// 修改所有style里的width属性为max-width:100%
newContent = newContent.replace(/style="[^"]+"/gi,function(match,capture){
match = match.replace(/width:[^;]+;/gi, 'max-width:100%;').replace(/width:[^;]+;/gi, 'max-width:100%;');
return match;
});
// 去掉<br/>标签
newContent = newContent.replace(/<br[^>]*\/>/gi, '');
// img标签添加style属性max-width:100%;height:auto
newContent = newContent.replace(/\<img/gi, '<img style="max-width:100%;height:auto;display:block;margin:0px auto;"');
newContent = newContent.replace(/<br[^>]*\/>/gi, '');
newContent = newContent.replace(/<td[^<>]*>/ig, '<td style="padding:0px;height:auto;word-break:break-all;">');
newContent = newContent.replace(/<td[^<>]*>\s*?<p>/ig, '<td>');
newContent = newContent.replace(/<table[^>]*>/gi, '<table cellpadding="0" cellspacing="0" max-width="100%" border="1" style="font-size:12px;max-width:100%; text-align:left;text-indent: 0em;line-height:12px;"');
return newContent;
}
export default {
formatRichText,
};