当前位置: 首页 > news >正文

字符串中<br>处理

需求: 后端返回的字符串中带有br换行符,前端需要处理行内及行尾的换行符。具体需求可分为以下两个

  1. 若是字符串末尾有换行符,需要去掉。
  2. 若是字符串内有换行符,有两种需求:①将换行符转换成逗号或其它符号;②识别br符,实现换行的效果。

整理一下,则会变成以下两个问题:

  1. 需要一个方法对字符串进行处理(去掉字符串末尾的换行符,并将行内的换行符换成我们指定的字符)。
  2. 识别换行符,实现换行的效果
一、首先去掉字符串末尾的< br >符,并将行内的换行符替换成指定的字符

封装了一个方法,如下:

// 输入字符串,如果字符串末尾有<br>,去掉;字符串内如果有<br>,可选:去掉或不去掉。若去掉,则需要传第二个字符串(替换的字符串)。
var removeBr = function(originStr, replaceStr="aaa") {var str = originStr;// 去除字符串前后空格str = str.replace(/(^\s*)|(\s*$)/g, "");// 去掉末尾的<br>符号str = str.replace(/(<br>)*$/g, "");if(replaceStr != "aaa") {str = str.replace(/<br>/g, replaceStr);}return str;
}
export default removeBr;

应用的时候将该方法直接引入对应的文件中

// 页面引用
<template><div>{{ str1}}<div>{{ handleBr(str1) }}</div></div>
</template>
// 定义方法
<script>
// 获取br字符处理方法--(removeBr为方法对应的文件名字,from后面跟的是removeBr.js文件所在位置)
import removeBr from '@/util/removeBr.js';
export default {data(){return {str1: "第三方监测D.004.2-TE04标<br>工程测量D.004.2-TE03标<br>质量检测D.004.2-TE02标<br>质量检测D.004.2-TE01标<br>",}},methods: {handleBr(str){return removeBr(str, ',');},},
}
</script> 

效果如下:

image-20210506134518586

到此,已经完成了一个需求。

二、只去掉字符串末尾的< br >符,行内的换行符展示换行效果

这种只需要在上面的基础上进行改进,然后再利用v-html。

在vue中,在页面上的字符串展示,并不会识别字符串中的标签等元素,为了识别到字符串中的标签,需要使用v-html指令。

// 页面引用
<template><div>{{ str1}}<div>{{ handleBr(str1) }}</div> // 变逗号<div v-html="handleBr(str1)"></div> // 识别标签</div>
</template>// 同时,方法也需要改造一下
methods: {handleBr(str, tStr = ''){if(tStr == '') {return removeBr(str);} else {return removeBr(str, tStr);}},
},

效果如下:

image-20210506140144340

到此,所有的需求已满足。

http://www.lryc.cn/news/16226.html

相关文章:

  • 大数据技术原理与应用介绍
  • 【Python】序列与列表(列表元素的增删改查,求之,列表推导式、列表的拷贝)
  • update导致死锁
  • Java 集合 --- 如何遍历Map
  • C#从值类型、引用类型到装箱和拆箱
  • Java中的逻辑运算符/移位运算符简单总结
  • 活动预告 | GAIDC 全球人工智能开发者先锋大会
  • 【Linux系统】认识操作系统和操作系统如何进行管理以及进程相关状态
  • 【0基础学爬虫】爬虫基础之HTTP协议的基本原理介绍
  • SpringBoot 整合定时任务
  • 我的零分周赛:CSDN周赛第30期,成绩“0”分,天然气定单、小艺读书、买苹果、圆桌
  • 二、Java虚拟机的基本结构
  • 华为OD机试 - 用户调度(Python) | 机试题+算法思路+考点+代码解析 【2023】
  • HashMap(JDK1.8)源码+底层数据结构分析
  • case的使用
  • Mac配置ITerm2
  • JUC并发编程(下)
  • API接口的基础知识
  • 基于Spring Boot的教务管理系统
  • 网页扫描图像并以pdf格式上传到服务器端
  • Airbyte入门
  • 研究人员在野外发现大量的信息窃取者 “Stealc “的样本
  • 数据结构——复杂度讲解(2)
  • 【LeetCode】任务调度器 [M](贪心)
  • Spring代理模式——静态代理和动态代理
  • Anaconda和PyCharm的一些安装问题和命令
  • sql优化建议
  • google hacker语句
  • Spring AOP
  • 【消费战略方法论】认识消费者的恒常原理(一):消费者稳态平衡原理