字符串中<br>处理

news2025/1/19 8:26:35

需求: 后端返回的字符串中带有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.coloradmin.cn/o/364678.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

年薪30万,我也曾达到人生巅峰,入职字节一个月,却被无情被裁......

今年的金三银四并不像往年那样有铺天盖地的岗位和约不过来的面试机会&#xff0c;再看正在招聘的岗位&#xff0c;动不动就要求代码能力&#xff0c;能开发自动化测试平台&#xff0c;能对已有xxx框架二次开发&#xff0c;还要上机笔试&#xff0c;变态程度不亚于古代皇帝选妃了…

uni-app Some selectors are not allowed in component wxss解决方案

报错信息如下 Some selectors are not allowed in component wxss, including tag name selectors, ID selectors, and attribute selectors. 注意看尾巴&#xff0c; (./uni_modules/uni-load-more/components/uni-load-more/uni-load-more.wxss:65:29) 打开这个组件uni-lo…

工厂在智慧升级过程中,企业需要用到哪些系统呢?

今天我们优先来分析一下流程制造型企业的需求。流程制造行业智能工厂要实现智能化&#xff0c;必须包含生产管理、供应链管理、工艺管理、设备管理、质量管理等全生命周期业务流程&#xff0c;那么这个全生命周期业务流程相对应的平台就会有以下几大平台来分别实现智能化&#…

Linux驱动开发—最详细应用程序调用驱动程序解析

Linux下应用程序调用驱动程序流程 Linux下进行驱动开发,完全将驱动程序与应用程序隔开,中间通过C标准库函数以及系统调用完成驱动层和应用层的数据交换。驱动加载成功以后会在“/dev”目录下生成一个相应的文件,应用程序通过对“/dev/xxx” (xxx 是具体的驱动文件名字) 的文…

深度分析2种最常用待办事项清单法+工具实操

建待办事项清单的方法有很多种&#xff0c;你可能已经熟悉了其中一种&#xff0c;但没有了如指掌&#xff0c;恐怕也没有想过哪种方法最适合自己&#xff0c;给大家整理当下职场最常用的两个代办清单事项方法&#xff0c;只需看这两个就够你用几年了。 一、四象限法 “四象限…

全面分析前端的网络请求方式(对ajax理解的勘误)

文章目录前言AjaxFetchAxios三者关系前言 在掘金看到一篇关于ajax和fetch以及aixos的文章&#xff0c;才发现自己对ajax的理解是错误的&#xff0c;一直以为ajax就是js中xhr对象&#xff0c;把他们两之间画上了等号&#xff0c;殊不知从根本上就理解错了。 这里就不对原生的xh…

疯狂的SOVA:Android银行木马“新标杆”

2021年8月初&#xff0c;一款针对Android银行APP的恶意软件出现在人们的视野中&#xff0c;ThreatFabric 安全研究人员首次发现了这一木马&#xff0c;在其C2服务器的登录面板&#xff0c;研究人员发现&#xff0c;攻击者将其称之为SOVA。 ** SO** ** V** ** A简介** 在俄语中…

Mac Maven环境搭建安装和配置详细步骤

一、Maven简介Maven 是 Apache 软件基金会的一个开源项目,是一个优秀的项目构建工具,它用来帮助开发者管理项目中的 jar,以及 jar 之间的依赖关系、完成项目的编译、测试、打包和发布等工作。二、Mavende优点1、原来的项目中需要的jar包必须手动“复制”、”粘贴” 到WEB-INF/l…

产品经理必懂的技术知识

API 是不是经常听见程序猿小哥哥A说&#xff1a;“这个简单&#xff0c;直接调用现成的接口就可实现。 一会儿程序猿小哥哥B说&#xff1a;“你这个不行&#xff0c;我们的第三方服务接口不支持。” 此时你的心里活动&#xff1a;API ≈ 听不懂 啥子是接口哦&#xff1f;接口…

git合并分支

在复杂系统的开发过程中&#xff0c;我们经常需要通过不同的功能或环境分支来进行管理&#xff0c;那么开发阶段完成时&#xff0c;还需要进行合并&#xff0c;下边分享一下合并的流程&#xff1a;首先确保要合并的两个分支 本地分支与远程分支一致可以通过IDEA切换对应分支拉取…

【已解决】解决IDEA的maven刷新依赖时出现Connot reconnect错误

前言 小编我将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识&#xff0c;有兴趣的小伙伴可以关注一下&#xff01;也许一个人独行&#xff0c;可以走的很快&#xff0c;但是一群人结伴而行&#xff0c;才能走的更远&#xff01;让我们在成长的道路上互相学习&#…

SAP分析云2023年第一季度亮点更新介绍

本文介绍了SAP分析云2023年第1季度的季度发布&#xff08;QRC&#xff09;新功能和增强功能。较于以往的版本&#xff0c;这次的更新在系统管理和服务管理、增强分析、业务内容交付、仪表盘和故事设计、Microsoft集成等方面做了产品的功能更新改进。那就和阿拓一起看看吧&#…

工作中,python真的有用吗?

普通上班族学Python有用吗&#xff1f; 那么&#xff0c;我也在这里提出一个问题&#xff1a;Python究竟适不适合办公人士来学习&#xff0c;以及学了之后究竟能不能给我的工作来带质一般的飞跃&#xff1f; 以我的亲身经历为例&#xff0c;我可以很负责的告诉大家&#xff0c…

Liunx服务器安装SVN

一、下载svn安装包链接&#xff1a;https://pan.baidu.com/s/1gkS0tef2kQP6nvXOS64hUw 提取码&#xff1a;cyuw二、SVN安装部署通过sftp将文件拉取到目的主机路径&#xff1a;/usr/package 跳转文件路径: cd /usr/package 执行解压命令:tar -zxvf subversion-1.14.2.tar.gz 执行…

Mysql的安装、语法、优化

1 数据库 数据库是存储数据&#xff0c;管理数据的仓库。 常见的数据库有两种&#xff1a; 关系型数据库&#xff1a;数据关系紧密。关系模型是二维表格模型&#xff0c;一个关系型数据库就是由二维表及其之间的关系组成的一个数据集合。 Oracle、MySQL、SQLServer、Access…

基础算法一:同向双指针

同向双指针——滑动窗口 讲解实例&#xff1a;LeetCode209. 长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl1, …, numsr-1, numsr] &#xff0c;并返回其长度。如果不存在符合…

二叉树、二叉搜索树、二叉树的最近祖先、二叉树的层序遍历【零神基础精讲】

来源0x3f&#xff1a;https://space.bilibili.com/206214 文章目录二叉树[104. 二叉树的最大深度](https://leetcode.cn/problems/maximum-depth-of-binary-tree/)[111. 二叉树的最小深度](https://leetcode.cn/problems/minimum-depth-of-binary-tree/)[129. 求根节点到叶节点…

工时表软件在项目中的作用 帮助企业管理项目成员的工时

企业的不断发展离不开每一个成功交付的项目&#xff0c;但在任何一个项目中&#xff0c;人力成本是主要的成本之一&#xff0c;员工的工作效率高低影响着项目成本和质量的关键点。如果想要降低整个项目的成本那就需要对员工工时更加精准的把控&#xff0c;所以规范管理员工时间…

文 件 操 作

程序运行时产生的数据都属于临时数据&#xff0c;程序一旦运行结束都会被释放通过文件可以将数据持久化C中对文件操作需要包含头文件< fstream >文件类型分为两种:1.文本文件&#xff1a; 文件以文本的AScII码形式存储在计算机中2.二进制文件&#xff1a; 文件以文本的二…

java反序列化基础

序列化与反序列化 1、概述 序列化是让Java对象脱离Java运行环境的一种手段&#xff0c;可以有效的实现多平台之间的通信、对象持久化存储。 Java 序列化是指把 Java 对象转换为字节序列的过程便于保存在内存、文件、数据库中&#xff0c;ObjectOutputStream类的writeObject(…