(vue)将文本和关键字做对比类似词性标注

(vue)将文本和关键字做对比类似词性标注

在这里插入图片描述
最终效果:
在这里插入图片描述

html:

<div class="content-main" v-html="changeCompare(value7, text)"></div>
<div class="content-type"> 
  <h3>实体类型图示:</h3>
  <ul>
    <li
      class="content-type-label"
      v-for="(item, index) in textList"
      :key="index"
      :style="`background: ${item.color}`" //每个类型标签匹配对应颜色
    >
      {{ item.label }}
    </li>
  </ul>
</div>

js:

data() {
	retuen {
		 value7: "",
         text: "",
         contentTest: [], //各类型文本
      	 color: "", //各类型颜色
      	 //测试数据
      	 textList: [
	        {
	          label: "模型",
	          content: ["模型1", "模型2", "模型3"],
	          color: "red",
	        },
	        {
	          label: "相关性",
	          content: ["相关性1", "相关性2", "相关性3"],
	          color: "green",
	        },
	        {
	          label: "螺蛳粉",
	          content: ["螺蛳粉1", "螺蛳粉2", "螺蛳粉3"],
	          color: "blue",
	        },
      ],
	}
}

methods: {
    //识别后的文本展示
    changeCompare(val, keyword) {
      val = "测试文本1: 模型1,模型2,模型3; 测试文本2: 相关性1,相关性2,相关性3; 测试文本3: 螺蛳粉1,螺蛳粉2,螺蛳粉3。";
      //遍历数据
      if (this.textList.length < 1) {
        return val;
      } else {
        this.textList.forEach((item1) => {
          this.color = item1.color;
          this.contentTest = item1.content;          
          this.contentTest.forEach((item) => {
            keyword = item;
            val = val + "";
            if (val.indexOf(item) !== -1 && item !== "") {
              val = val.replace(
                new RegExp(item, "g"),
                `<font color='#000' style="background-color: ${this.color};border-radius: 5px;padding: 4px 6px;">${item}</font>`
              );
            }
          });
        });
        return val;
      }
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值