蛋炒贩炒蛋 2021-07-26 09:52 采纳率: 100%
浏览 959
已结题

uniapp 中怎样去除一段html的空格

let content = “

   「喂!霍尔玛,你有什么计划了吗?」

  明明是在小跑,却几乎跟不上比自己腿短、且还是行走状态的少女,简直不可思议。

  「…不,完全没有。」

「喂!霍尔玛,你有什么计划了吗?」

xx

“;

问题描述:如上文,是一段后端返回的html;由变量content接收,现在的需求是要去除这段html p标签内容的首尾空格,不能影响除首尾外的空格;由于是uniapp,有h5、安卓、iOS三个端,所以不能使用document;如何解决

  • 写回答

4条回答 默认 最新

  • 蛋炒贩炒蛋 2021-07-26 12:18
    关注
    let content = `
    <p>&nbsp;「喂!霍尔玛,你有什么计划了吗?」</p>
    <p>  明明是在小跑,却几乎跟不上比自己 腿 短、且还是行走状态的 少 女,简直不可思议。</p>
    <p> &emsp;「…………不,完全没有。」</p>
    <p style="color:red;">「喂!霍尔玛,你有什么计划了吗?」&emsp;</p>
    <p style="text-indent: 2em;"> xxx xxx</p>
    `
        let fomart = "";
        let match = content.match(/.*/g);//正则拿到每个p标签
        match.forEach((d, i) => {
            let pSty;
            pSty = d.match(/<p .+?>/);//因为要保留P标签中可能出现的除了首行缩进的其他行内样式
            let temp = d.match(/>.*</g);//正则匹配正文
            temp = temp ? temp[0].replace(/>|</g, "") : "";//正则拿到P标签内正文
            pSty = pSty ? pSty[0] : "";//正则拿到行p标签的开始标签
            temp = temp.replace(/(^\s*|\s*$)/g, "")//去除正文中首尾空格
            temp = temp.replace(/((^&emsp;|&nbsp;)|(&emsp;|&nbsp;$))/g, "")//去除空格转译字符
            // 下方代码用于保留原先样式并添加首行缩进
            if (pSty) {//拥有行内样式
                if (pSty.indexOf("text-indent") == -1) {//没有使用首行缩进
                    let pStyStr = pSty.match(/["|'](.*)["|']/g)[0];//拿到行内样式字符串
                    pStyStr = pStyStr.replace(/'|"/g, "");//清除掉单引号与双引号
                    pStyStr = "text-indent: 2em;" + pStyStr;//在行内样式字符串头部添加缩进两字符
                    pSty = `<p style="${pStyStr}">`//最终得到修改后的p标签的开始标签
                }
            } else {
                pSty = `<p style="text-indent: 2em;">`// 没有行内样式就直接添加缩进
            }
            fomart += `${pSty}${temp}</p>`;// 拼接成为格式化的正文
        })
    
        console.log(fomart)
    

    尝试了一下这样应该可行

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 请回答用户的提问 4月11日
  • 系统已结题 8月3日
  • 已采纳回答 7月26日
  • 修改了问题 7月26日
  • 展开全部

悬赏问题

  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错