uni-app中使用富文本rich-text个人经验
rich-text
是在uni-app一个内置组件,用于高性能地渲染富文本内容。先贴一下官方的属性列表:
先说一下“selectable” 长按选择区域复制,这个我在APP项目中 不起作用,可能像文档说的,只支持“百度小程序”吧。在APP端起作用的话,可以做如下修改,在样式中添加下面样式代码
.content-select-copy {-webkit-user-select: text;-moz-user-select: text;-ms-user-select: text;user-select: text;
}
模板中调用的时候加上面样式
<view class="content-select-copy" ><rich-text :selectable='true' :nodes="content" @itemclick="handleRichText"></rich-text>
</view>
这样就可以在APP端实现长按选择区域复制了。
然后再说一下事件处理itemclick,我们可以使用这个事件实现对rich-text里面的节点内容进行处理,不过只能处理a和img标签,这个上面官方文档已经说明。
使用示例:
比如要对富文本内容中的所有链接跳到指定中转页再跳转,代码如下:
//假设我的rich-text类型为节点类型(rich-text支持节点数组或者字符串类型)
handleRichText(e){ //这里对应我上面模板中的itemclick指定的处理方法名称if(e.detail.node.name == 'a') {let url = e.detail.node.attrs.hreflet jumpurl = '/jumpurl?url='+encodeURIComponent(url )//这里我直接拉起系统浏览器访问,也可以使用 uni.navigateTo在app内部跳转this.openLink(jumpurl) }
}
对于rich-text是使用节点数组还是字符串,根据自己需求而定,如果字符串的话,可以直接写个正则替换。比如:
function replaceLinks(text) { // 正则表达式匹配<a>标签的href属性 // 注意:这个正则表达式可能无法处理所有复杂的HTML情况 var regex = /<a\s+[^>]*href=(\"??)([^\" >]*?)(\"??)[^>]*>([^<]*)<\/a>/gi; return text.replace(regex, function(match, quote1, url, quote2, textInside) { // 验证URL(可选,取决于你的需求) if (url) { // 替换为新的链接格式 return '<a href="/jumpurl?url=' + encodeURIComponent(url) + '">' + textInside + '</a>'; } return match; });
}
content = replaceLinks(content);
不过我建议用数组节点,后端将富文本处理为节点数组返回给前端,这样有两个好处,一是前端处理起来比较方便 ,另外一点就是性能问题,后端处理好之后,前端直接使用数组,性能会更好。这点官方文档也有说明:“nodes 值为 HTML String 时,在组件内部将自动解析为节点列表,推荐直接使用 Array 类型避免内部转换导致的性能下降”。不过要将一段HTML富文本处理成节点数组,对后端来说,也是比较麻烦的,如果使用PHP,可使用PHP DOMDocument,参考我前面的例子。PHP 转换HTML 为节点数组 – AI小站 (aisites.cn)。如果是python可以使用BeautifulSoup处理,java可以使用Jsoup。
文章地址 uni-app中的富文本rich-text使用经验 – AI小站 (aisites.cn)
相关文章:
![](https://img-blog.csdnimg.cn/img_convert/963bd3167d582ccbdc71e35cf46b5b2e.png)
uni-app中使用富文本rich-text个人经验
rich-text是在uni-app一个内置组件,用于高性能地渲染富文本内容。先贴一下官方的属性列表: 先说一下“selectable” 长按选择区域复制,这个我在APP项目中 不起作用,可能像文档说的,只支持“百度小程序”吧。在APP端起作…...
![](https://img-blog.csdnimg.cn/img_convert/713f97a9e9723f00fa40908f58c4e5a9.png)
Matlab|基于V图的配电网电动汽车充电站选址定容-可视化
1主要内容 基于粒子群算法的电动汽车充电站和光伏最优选址和定容 关键词:选址定容 电动汽车 充电站位置 仿真平台:MATLAB 主要内容:代码主要做的是一个电动汽车充电站和分布式光伏的选址定容问题,提出了能够计及地理因素和服…...
![](https://img-blog.csdnimg.cn/direct/4f05effe093a4303ac03ea0f462f3278.png)
从零开始! Jupyter Notebook的安装教程
🚀 从零开始! Jupyter Notebook的安装教程 摘要 📄 Jupyter Notebook 是一个广受欢迎的开源工具,特别适合数据科学和机器学习的开发者使用。本文将详细介绍从零开始安装 Jupyter Notebook 的步骤,包括各种操作系统的安装方法&am…...
![](https://www.ngui.cc/images/no-images.jpg)
web前端信息卡:深入探索与实用指南
web前端信息卡:深入探索与实用指南 在数字化时代,web前端信息卡已成为我们日常生活和工作中的重要组成部分。这些小巧而强大的工具,能够在有限的空间内展示丰富的信息,提升用户体验。然而,设计一个出色的web前端信息卡…...
![](https://img-blog.csdnimg.cn/img_convert/f02970f66d23fa138da25290c6d8f2e3.jpeg)
之所以选择天津工业大学,因为它是双一流、报考难度适宜,性价比高!天津工业大学计算机考研考情分析!
天津工业大学(Tiangong University),简称“天工大”,位于天津市,是教育部与天津市共建高校、国家国防科技工业局和天津市共建的天津市重点建设高校、国家“双一流”建设高校、天津市高水平特色大学建设高校、中国研究生…...
![](https://img-blog.csdnimg.cn/img_convert/4c0213e2ae04336e4b6e1d8bf03857aa.png)
WPF三方UI库全局应用MessageBox样式(.NET6版本)
一、问题场景 使用HandyControl简写HC 作为基础UI组件库时,希望系统中所有的MessageBox 样式都使用HC的MessageBox,常规操作如下: 在对应的xxxx.cs 顶部使用using 指定特定类的命名空间。 using MessageBox HandyControl.Controls.Message…...
![](https://img-blog.csdnimg.cn/direct/79d0c45d25eb4156a36fa8692f057cde.png#pic_center)
ABAP-03基础数据类型
基本数据类型 数据类型默认大小(byte)有效大小初始值说明示例C11-65535SPACE文本字符(串)‘Name’N11-65535‘00…0’数字文本‘0123’T66‘000000’时间(HHMMSS)‘123010’D88‘00000000’日期(yyyymmdd)‘20090901’I4-231~232…...
![](https://img-blog.csdnimg.cn/direct/e87ad7ecf7fb42239ff061eae22dc10a.png)
Zabbix监控神通数据库教程
作者:乐维社区(forum.lwops.cn) 乐乐 神通数据库,即神舟通用数据库(ShenTong Database),是我国自主研发的一款关系型数据库管理系统。它在国内市场有一定的应用,尤其是在一些对数据安…...
![](https://img-blog.csdnimg.cn/direct/21a25618cd5b4f1ebf5be7588fdbf1eb.png)
5.音视频基础 FLV
目录 简说FLV FLV Header FLV Body Tag Header 编辑Tag Data Audio Data Video Data Script Data 简说FLV FLV格式可以包含音频、视频和文本数据,并且可以在网络上进行流媒体传输。优点是文件大小较小,压缩效率高,并且可以在较低…...
![](https://img-blog.csdnimg.cn/direct/c03d4261eed44d12878e68a3f640e0e5.png)
Ubuntu server 24 (Linux) 安装客户端(windows/linux) Zabbix 7.0 LTS Zabbix agent2
一 Ubuntu(linux)安装客户端 1 Ubuntu 24 安装Zabbix agent2 #安装agent库 sudo wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-1ubuntu24.04_all.deb sudo dpkg -i zabbix-release_7.0-1ubuntu24.04_all.deb sudo apt u…...
![](https://www.ngui.cc/images/no-images.jpg)
在 Ubuntu 上取消登录密码和锁屏功能的简易指南
你可以使用终端命令来直接设置取消登录密码和锁屏功能。以下是具体步骤: 取消登录密码 打开终端。编辑 /etc/gdm3/custom.conf 文件:sudo nano /etc/gdm3/custom.conf在 [daemon] 部分下,添加或修改以下行:AutomaticLoginEnable…...
![](https://www.ngui.cc/images/no-images.jpg)
PAT B1046. 划拳
题目描述 划拳是中国酒文化中一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。…...
![](https://img-blog.csdnimg.cn/img_convert/6987c8135389e62d52e9514cb7fa452d.png)
奥特曼谈AI的机遇、挑战与人类自我反思:中国将拥有独特的大语言模型
奥特曼在对话中特别提到,中国将在这个领域扮演重要角色,孕育出具有本土特色的大语言模型。这一预见不仅彰显了中国在全球人工智能领域中日益增长的影响力,也预示着未来技术发展的多元化趋势。 ①奥特曼认为AI在提升生产力方面已显现积极作用&…...
![](https://www.ngui.cc/images/no-images.jpg)
Java版-剑指offer数据结构与算法 视频教程 下载
Java版-剑指offer数据结构与算法 视频教程 下载 01-数据结构与算法入门基础 clip.mp4 02-clip1.mp4 03-clip2.mp4 04-基础数据结构:数组&链表(一).mp4 05基础数据结构:数组&链表(二).mp4 06-基…...
![](https://img-blog.csdnimg.cn/direct/51e5c4a744d3418fae8542cb64720ef2.png)
mac禁用电池睡眠-mac盒盖连接显示器
mac禁用电池睡眠-mac盒盖连接显示器-mac断点盒盖连接显示器 讲解:mac盒盖的时候连接显示器会睡眠并断开和显示器的连接,只有在电池->选项->选择使用电源适配器的时候防止睡眠,才可以连接电源线外界显示器 但是苹果的电池相当于手机电…...
![](https://img-blog.csdnimg.cn/direct/5d00893c385e4b78a2313049a296ca05.jpeg)
最好用的智能猫砂盆存在吗?自用分享智能猫砂盆测评!
在现代都市的忙碌生活中,作为一名上班族,经常因为需要加班或频繁出差而忙碌得不可开交。急匆匆地出门,却忘了给猫咪及时铲屎。但是大家要知道,不及时清理猫砂盆会让猫咪感到不适,还会引发各种健康问题,如泌…...
![](https://www.ngui.cc/images/no-images.jpg)
LeetCode 每日一题 2748. 美丽下标对的数目
Hey编程小伙伴们👋,今天我要带大家一起解锁力扣上的一道有趣题目—— 美丽下标对的数目 - 力扣 (LeetCode)。这不仅是一次编程挑战,更是一次深入理解欧几里得算法判断互质的绝佳机会!🎉 问题简介 题目要求我们给定一…...
![](https://img-blog.csdnimg.cn/img_convert/86b517bea91801b1e728fefcda784a58.png)
全民拼购:引领商业新潮流,共创共赢新篇章
在当下的商业格局中,一种曾被忽视但实则具有颠覆性价值的商业理念正在逐步显露其锋芒。与传统的交易方式相悖,这一模式在我近期接触到的某个实例中,即便在用户基数尚未突破二十万之际,也能实现日均销售额逼近五千万的辉煌成绩&…...
![](https://img-blog.csdnimg.cn/direct/8939d548a4e14cf79861d11af83ee11b.png)
HarmonyOS角落里的知识:一杯冰美式的时间 -- 之打字机
一、前言 模拟编辑器或者模拟输入框中文字啪啦啪啦输入的效果,往往能够吸引人们的眼球,让用户的注意力聚焦在输入的内容上,本文将和大家探讨打字机效果的实现方式以及应用。Demo基于API12。 二、思路 拆分开来很简单,将字符串拆…...
![](https://img-blog.csdnimg.cn/direct/05864c7ed0004b47a8e659596141e3d9.png)
C++ 03 之 命名空间
game_kun.cpp #include "game_kun.h"void kun::atk() {cout << "吃鸡的攻击"<< endl; } game_lol.cpp #include "game_lol.h"void lol::atk() {cout << "lol的攻击"<< endl; } game_kun.h #include <…...
![](https://img-blog.csdnimg.cn/08119a6833a64207b3e572b9f5d315bb.png)
20个国家科学数据中心(下)
15、国家海洋科学数据中心 平台网址:https://mds.nmdis.org.cn/ 简介:国家海洋科学数据中心由国家海洋信息中心牵头,采用“主中心分中心数据节点”模式,联合相关涉海单位、科研院所和高校等十余家单位共同建设。以“建立…...
![](https://img-blog.csdnimg.cn/direct/ab7f882fee424275bee8af8d74832bbe.png)
本地部署 Stable Diffusion3
6月13日,Stability AI 正式开源20亿参数版本的Stable Diffusion 3 Medium。本文将在本地部署 SD3,GPU配置如下 GPU 2080TI / 22G 安装依赖 修改 WORKSPACE 位置信息,安装ComfyUI # #title Environment Setupfrom pathlib import PathOPTIO…...
![](https://img-blog.csdnimg.cn/direct/87db280411924415a4ecbb95865a9685.png)
避免Tomcat调试信息泄露的最佳实践
大家好!我是小米,一个热爱分享技术的小伙伴。最近我们团队在进行网站安全扫描时,发现了一个敏感信息泄露的漏洞。经过一番努力,终于解决了这个问题。今天我想在这里分享我们的经历,希望能为大家提供一些参考和帮助。 问题背景 在处理请求过程中,如果服务器遇到运行时错…...
![](https://www.ngui.cc/images/no-images.jpg)
Linux C++
1.Linux环境配置 1.安装C和C的编译器 yum -y install gcc* // centos72.升级编译器 升级软件包: yum -y install centos-release-scl devtoolset-8-gcc*启用软件包: echo "source /opt/rh/devtoolset-8/enable" >>/etc/profile # 每次…...
![](https://img-blog.csdnimg.cn/direct/02cf110801584f7091eef97de5be087e.png)
Apache Doris 基础 -- 部分数据类型及操作
您还可以使用SHOW DATA TYPES;查看Doris支持的所有数据类型。 部分类型如下: Type nameNumber of bytesDescriptionSTRING/可变长度字符串,默认支持1048576字节(1Mb),最大精度限制为2147483643字节(2gb)。大小可以通过BE配置string_type_le…...
![](https://www.ngui.cc/images/no-images.jpg)
大话C语言:第25篇 动态库
1 动态库概述 C语言动态库(也称为共享库)是在程序运行时被加载到内存中的库文件,它包含了可由多个程序共享的代码和数据。动态库在编译时不会被直接链接到目标程序中,而是在程序运行时动态加载。这种特性使得动态库具有一些优势&a…...
![](https://img-blog.csdnimg.cn/direct/b8fc4506edf84e9aaf7c2f9355db74fe.png)
数据分析:RT-qPCR分析及R语言绘图
介绍 转录组分析是一种用于研究细胞或组织中所有RNA分子的表达水平的高通量技术。完成转录组分析后,科学家们通常需要通过定量实时聚合酶链式反应(qRT-PCR)来验证二代测序(Next-Generation Sequencing, NGS)结果的可靠…...
![](https://www.ngui.cc/images/no-images.jpg)
无线模块通过TCP/IP协议实现与PC端的数据传输解析
在当今的信息时代,无线通信技术的发展日新月异,为我们的工作和生活带来了极大的便利。其中,无线通信模块通过TCP/IP协议向PC端传送数据已经成为了一种常见的通信方式。 无线通信模块是一种能够在无线网络中进行数据传输的设备。它通常集成了…...
![](https://img-blog.csdnimg.cn/direct/e2e4fb3242ee4ba1b79ce3d29c26e390.png)
嵌入式实验---实验一 通用GPIO实验
一、实验目的 1、掌握STM32F103 GPIO程序设计流程; 2、熟悉STM32固件库的基本使用。 二、实验原理 1、通过按键实现:按键按下,LED点亮;按键释放,LED熄灭。 三、实验设备和器材 电脑、Keil uVision5软件、Proteus…...
![](https://img-blog.csdnimg.cn/img_convert/0fc042c84fae20dde88c26d53943a1e3.png)
中国首例!「DataKit」上架亚马逊云科技 Marketplace add-ons
在 2022 年的 re:Invent 大会上,亚马逊云科技宣布了一项重大更新:亚马逊云科技 Marketplace 为 Amazon Elastic Kubernetes Service(Amazon EKS)提供了附加组件的支持。这一创新功能极大地丰富了 EKS 的生态系统,使用户…...
![](https://pic002.cnblogs.com/images/2012/282564/2012032916160893.png)
义乌做站外推广的公司/seo优化包括什么
目前我们使用的流程图制作软件大体有RFFLOW、FLOW CHARTING、VISIO三种,可是它们的体积和资源占用情况很大,操作复杂,有没有简单易用不需安装的流程图制作软件呢?下面我给大家推荐几款在线流程图制作工具。 第一款:Gli…...
![](/images/no-images.jpg)
设计网站推荐p/电商运营模式
0、认识 rpm包和deb包是两种Linux系统下最常见的安装包格式,在安装一些软件或服务的时候免不了要和它们打交道。 rpm包主要应用在RedHat系列包括 Fedora等发行版的Linux系统上, deb包主要应用于Debian系列包括现在比较流行的Ubuntu等发行版上。 我们知道…...
![](https://img-blog.csdnimg.cn/img_convert/49a07c73b54cd865d67aa4b22d507353.png)
个人空间备案网站名称/网站增加外链的方法有哪些
关注公众号【秋叶 Excel】回复关键词【工具】获取 Excel 高效小工具合集,让你效率开挂!本文作者:竺兰本文来源:秋叶Excel(ID:Excel100)本文编辑:思雨、竺兰距离下班还有俩小时,我伸了伸懒腰,想着…...
![](/images/no-images.jpg)
太原网站建设 thinkphp3.2/拉新工作室在哪里接项目
django-admin 页面标题、页面头信息、模块显示中文 系统设置汉化 在settings.py中修改: #LANGUAGE_CODE en-us LANGUAGE_CODE zh-Hans #TIME_ZONE UTC TIME_ZONE Asia/Shanghai页面的菜单和标题都会显示中文 页面标题自定义 页面标题显示Django 站点管理员…...
![](http://docs.egret-labs.org/assets/img-jk/manual-native-hot-upgrade/publish_9.jpg)
网店平台网站建设需求/windows优化大师官方
http://docs.egret-labs.org/post/tools/native/hot-upgrade.html概述Egret的封装项目无论在Android还是iOS平台,均支持热更新。 以下主要以Android平台为例来说明,iOS平台只需要在相应的配置和iOS入口类代码中进行不同的修改配置即可。基本配置首先我们…...
![](https://img-blog.csdnimg.cn/fdc27a3e6a7e47ae97a7c17b9cd99eab.png)
网站导航上的图片做多大尺寸/seo和竞价排名的区别
一个完整的信号一定是以0开始然后以0结尾的,输入一串方波信号是由一个或者多个完整信号组成的,两个相邻的信号之间可能有-个或者多个低位, 同一个信号中间可以有连续的高位,完全连续交替方波是指0交替, while 1:try:nums = input()# 提取信号段,由0分隔的信号段dp = []…...