美文网首页
按一定长度截取富文本的文字

按一定长度截取富文本的文字

作者: good__day | 来源:发表于2018-11-29 18:18 被阅读0次

按一定长度截断富文本,以下只做到了截断,没有做到标签闭合。

经搜索发现,浏览器在它们认为合理的位置加入闭合标签。但各浏览器的做法是不同的。

function truncateIgnoreTags(richText, maxLength) {

  const textArr = richText.split(/<\/?\w+[^>]*>/g).filter(Boolean)

  let resTextLength = 0

  const resultRegexp = textArr.reduce((accumulator, cur) => {

    if (resTextLength + cur.length <= maxLength) {

      resTextLength += cur.length

      return accumulator + '[^]*' + cur

    } else {

      if (resTextLength === maxLength) {

        return accumulator

      }

      const curResRegexp =

        accumulator + '[^]*' + cur.substr(0, maxLength - resTextLength)

      resTextLength = maxLength

      return curResRegexp

    }

  }, '')

  const resTextStr = richText.match(new RegExp(resultRegexp))[0]

  return resTextStr

}

相关文章

  • 按一定长度截取富文本的文字

    按一定长度截断富文本,以下只做到了截断,没有做到标签闭合。 经搜索发现,浏览器在它们认为合理的位置加入闭合标签。但...

  • 字符串长度及截取&& html转成纯文本

    1. html转成纯文本 2.字符串长度及截取 3.判断字符串的长度(按照英文字符来算)

  • 富文本设置标签

    //针对普通文本设置(只要截取范围设置) //属性字符串富文本 NSString *text =@"1234567...

  • vue element-ui 的form表单验证rules

    最近在做富文本编辑器。使用传统的rules,对含有emoji的文本计算长度有误。 如果输入100多文字,加大量em...

  • Android富文本的学习一

    1TextView的富文本介绍: 什么是富文本,大家都知道TextView可以显示文字,设置文字样式,利用富文本可...

  • python 字节流 按长度截取

    一、业务需求 谈到python对bytes类型数据的处理,常用的struct模块,网上资料甚多,这里不做赘述用st...

  • mysql 字段

    String 及文本 char定长,最大只有256bytes。存入内容长度大于指定长度,严格模式报错,否则截取定长...

  • iOS 图文混排

    创建label 创建富文本 创建图片文本 富文本添加图片 图片和文字居中对齐 图片文本加入富文本中 图片插入文本中...

  • css实现文字过长显示省略号的方法

    当对象内文本溢出时显示省略标记 这是一个例子,其实我们只需要显示如下长度: css实现网页中文字过长截取... t...

  • 富文本

    NSTextAttachment:图片转化成富文本内容 NSAttributedString:文字的富文本 NSM...

网友评论

      本文标题:按一定长度截取富文本的文字

      本文链接:https://www.haomeiwen.com/subject/pmofcqtx.html