胖蔡说技术
随便扯扯

Js 过滤富文本html标签提取纯文本内容

需要将富文本中的标签和特殊字符过滤提取纯文本内容,就上网找了下,但是发现都不是我想要的。所以找了下之前自己写的过滤方法,在这里记录下,方便之后使用查找。功能比较简单,就直接上代码。

 

f445b9f60a137c1-1

 

/**
 * 将富文本转换为纯文本内容
 * @function
 * @param {*} html  富文本内容
 * @returns {string} 返回纯文本内容、
 */

export function getSimpleText(html) {
  const re1 = new RegExp("<.+?>", "g"); // 匹配html标签的正则表达式,"g"是搜索匹配多个符合的内容
  const arrEntities = { 'lt': '<', 'gt': '>', 'nbsp': ' ', 'amp': '&', 'quot': '"', 'ldquo': '“', 'mdash': '—', "rdquo": '”' };
  return html.replace(re1, '').replace(/&(lt|gt|nbsp|amp|quot|ldquo|mdash|rdquo);/ig, function (all, t) {
    return arrEntities[t];
  });
}

 

 

过滤替换单个标签可以通过如下的方法实现,我这里是用于替换 img 标签,大家可以根据需要将img标签改为需要替换查找的标签。

 

/**
 * 替换富文本中的image标签,使用占位符显示,hover弹框显示
 * @param {*} html
 */

export function replaceHtmlImages(html) {
  return html.replace(/<img [^>]*src=['"]([^'"]+)[^>]*>/gi, function (match, capture) {
    return `<img class="hoverImg" onClick="openImg('${capture}')"  style="cursor:pointer;height:18px !important;width:18px !important;"  src="${picIcon}"  alt="图片" />`;
  });
}

 

大家自取自用,多多益善~

赞(2) 打赏
转载请附上原文出处链接:胖蔡说技术 » Js 过滤富文本html标签提取纯文本内容
分享到: 更多 (0)

请小编喝杯咖啡~

支付宝扫一扫打赏

微信扫一扫打赏