React实现关键字高亮

React 中的语法高亮指南 软件开发人员阅读的代码与编写的代码一样多。因此,要增强代码的可读性,不仅要努力编写可读的代码,还要应用适当的代码格式和语法高亮。开发人员每天使用几种编程和非编程计算机语言。每种语言都有其语法,因此需要语法高亮。为了在浏览器环境中应用语法高亮,存在 Prism、Highlight 和 React 语法高亮等库。这些库中的每一个都有其优点和缺点。其中一些库是为使用纯 JavaScript 而开发的,而另一些库也支持 React 等前端框架。本文将是 Prism 等流行的语法高亮库以及如何将它们与 React 一 阅读详情

先看效果:
在这里插入图片描述
实现很简单通过以下这个函数:

highLight = (text, keyword ) => {
    return text.split(keyword).flatMap(str => [<span style={{ color: 'red', fontWeight: 'bold' }}>{keyword}</span>, str]).slice(1);
  }

展示某段文本时调用该函数处理后,在展示就能实现高亮效果

原理是:

这个函数的作用是在给定的文本中,将指定的关键字进行高亮标记。它接受两个参数:text(要处理的文本)和 keyword(要高亮标记的关键字)。

函数首先使用 split() 方法将文本按照关键字进行拆分,生成一个字符串数组。然后通过 flatMap() 方法遍历数组,并在每个关键字的前面插入一个用 标签包裹的标记,设置其样式为红色并加粗。最后,使用 slice(1) 方法去掉第一个空字符串元素,并返回一个新的数组。

这样,当你调用 highLight(text, keyword) 函数时,它将返回一个包含了高亮标记的文本数组。你可以在渲染页面时使用该数组来展示高亮的效果,将每个元素渲染为 HTML 内容,从而实现对指定关键字的高亮显示。

参考了该篇博客的做法:https://juejin.cn/post/7088345637401395236

React高亮利器:ReactMarker实现关键字标记与文本着色实战 回顾整个旅程,我们从 React 的组件化思想出发,深入到的实现细节,再到大规模文本下的性能挑战与解决方案,最后落地到真实业务场景。你会发现,没有银弹。你不能为了性能牺牲准确性;也不能为了功能复杂度拖垮用户体验;更不能为了开发速度埋下安全隐患。真正的高手,是在这些矛盾之间找到最佳平衡点。而正是这样一个典范:它不追求大而全,而是专注做好一件事 ——在不影响结构的前提下,安全、高效、精准地标记文本。 阅读详情

相关推荐

react-highlight.js:Highlight.js库周围的简单React包装器

演示版 在查看演示。 安装 使用NPM安装react-highlight.js: npm install react-highlight.js --save 选择highlight.js主题,并确保它包含在索引文件中。 < link rel =' stylesheet ' href =' https://highlightjs.org/static/demo/styles/railscasts.css '/> 然后使用react-highlight.js像这样显示您的文本: import Highlight from 'react-highlight.js' ; < Highlight xss=removed> { content } < / Highlight > 执照 根据MIT许可,可以使用react-highlight.js 。

React实现文字高亮

react实现高亮,剔除html标签部分

weixin_43846024的博客 1773

react-一个可以把文本中多个关键字高亮显示的react组件

一个可以把文本中多个关键字高亮显示的react组件

工作笔记 (20200220) React-highlight的使用方法

React-Highlight的使用方法 1.在项目中安装 yarn add react-highlight 2.在React项目中导入 import Highlight from ‘react-highlight’ 3.选择自己喜欢的主题 在node_modules/highlight.js/styles/你喜欢的样式名 举个????: import “highlight.js/styles/zen...

qq_41523392的博客 3584

jQuery查找关键词文字高亮显示代码.zip

有兴趣刚需的可以自己下载,非常实用的jquery代码,可以完美运行,有能力的还可以二次修改!

STM32以太网通信-STM32以太网外设(ETH)

通过 DMA 控制器进行介质访问控制 (MAC) STM32F4xx系列控制器内部集成了一个以太网外设,它实际上是一个通过DMA控制器进行介质访问控制(MAC),它的功能就是实现MAC 层的任务。 借助以太网外设,STM32F4xx 控制器可以通过ETH 外设按照IEEE 802.3-2002 标准发送和接收MAC 数据包。 ETH 内部自带专用的DMA 控制器用于MAC,ETH 支持两个工业标准接口介质独立接口(MII)和简化介质独立接口(RMII)用于与外部PHY 芯片连接。MII 和RMII 接口用于

暖暖_的_纠结的博客 2万+

react用dangerouslySetInnerHTML实现搜索列表中对应关键字的高亮效果

参考链接:添加链接描述

qq_36934775的博客 469

百度无人车ApolloAuto使用入门

1.安装原版ubuntu 14.04 http://www.ubuntu.org.cn/download/alternative-downloads 2.安装对应ubuntu 14.04的indigo版ROS http://wiki.ros.org/indigo/Installation/Ubuntu 3.安装Apollo Kernel https://github.co

ss910的博客 3万+

antd ui中的input如何控制宽度_react项目中实现搜索关键字呈现高亮状态(一)

最近有个需求,在一个react项目中,实现搜索关键字呈现高亮状态。这个在普通的html文件中还好操作些,在react项目中有点懵逼了,因为react项目中很少操作dom,有点无从下手。但最后还是实现了效果,如下:首先来看看如何在react中操作dom,广大网友给出两种方案:一:使用选择器:1、引入react-dom import ReactDom from 'react-dom'2、给rea...

weixin_35639750的博客 2479

电商订单系统设计简析(一)

电商所有模块中,订单系统作为最为核心的模块,决定了整个流程能不能顺畅的执行,起着承上启下的作用。相信很多PM都不陌生,到了一家电商公司,总会觉得公司现有的流程有不少问题,因为问题来自四面八方,一下子摸不着到底是哪里出了问题,PM就跟补丁师傅一样,遇到一个补一个。其实很多日常开发和测试提得需求都是表面需求,而这些表面上呈现出的各种问题,都是源自于流程上的不完整或者流程上某个环节上的缺失导致的。订单系...

野蛮非先生的博客 9553

奇迹mu服务端DATA文件解析:从基础配置到高级玩法

本文深入解析奇迹MU服务端DATA文件的核心配置与高级玩法,涵盖基础设置、怪物AI系统、技能战斗机制、副本事件管理及物品商城定制。通过详细示例和实用技巧,帮助开发者掌握从经验倍率调整到动态事件触发的全方位配置方法,实现个性化的私服搭建与运营。

weixin_29254673的博客 528

React实现快速搜索并且关键字高亮

需求: 点击搜索按钮,弹出模糊匹配列表。 下拉列表选择选项,点击后跳转相应页面关键字所在地。 思路: 利用正则从列表匹配到关键词,再使用标签包含关键词, 给标签添加color属性,使用react富文本渲染方式进行渲染 js内容: /** * 关键字变色 * @params content 内容 * @params keyword 关键词 * @params tagName 标签名 */ warpTag(content, keyword, tagNa

weixin_46662539的博客 3049

CANoe信号传输故障排查指南

本文提供了全面的CANoe信号传输故障排查指南,涵盖从硬件连接、通道配置到软件脚本与数据库加载的全链路诊断。针对常见的通道指示灯不亮、信号无法发送及ECU握手失败等问题,给出了基于CANoe工具和CAPL脚本的详细排查步骤与解决方案,帮助工程师系统化定位并解决实车测试中的通信故障。

ice55的博客 257

驾驭react中的状态电子书_react项目中实现搜索关键字呈现高亮状态(二)

上一篇是通过操作react项目的dom形式改变元素标签的颜色。今天我们不操作dom,通过改变state参数动态渲染页面。很多人会有个疑问,react项目的state里面可以存html标签吗?可以的。那么我们来看看如何操作:首先在state里存上数据 text:'这是一段文本,可以实现搜索匹配高亮的效果'然后在渲染函数的元素里使用,主要是使用了dangerouslySetInnerHTML属性:不明...

weixin_36225384的博客 210

在树莓派上部署训练好的YOLO模型

.pt.模型转换为onnx格式的模型,树莓派上部署模型

pai_da_xing8的博客 3887

Hi3516CV610开发板实战:从零搭建智能视觉监控系统

本文详细介绍了从零开始基于Hi3516CV610开发板搭建智能视觉监控系统的完整实战流程。涵盖硬件连接、系统配置、摄像头集成、网络设置、固件烧录到视频处理与智能分析功能开发,提供了丰富的实践经验和调试技巧,帮助开发者快速掌握嵌入式视觉系统开发。

vvv99的博客 561

html中红色的搜索按钮,react native实现搜索关键字显示红色

遇到一个需求是在一个文本中搜索关键字,并且高亮显示(红色字体)在html中我们可以使用String.split('关键字').join(+关键字+)来进行拼接但是react native的Text是组件(component),如果使用上面的方式是会报错的那可以使用另外一种形式进行拼接import React, { Component } from 'react';import {Text,View...

weixin_36347133的博客 531

Python爬虫教程:爬取法院司法拍卖数据全流程实战(附反爬+数据分析方案)

Python爬虫爬取法院司法拍卖数据的核心是模拟真人行为规避反爬+精准解析页面数据+合理处理数据。新手不用一开始就追求高级的反爬技巧和复杂的数据分析,先把基础的分页爬取和数据保存功能跑通,再逐步优化。我做的这个工具现在每周帮朋友爬取全国10个城市的法拍房数据,自动生成分析报告,他说这让他的投资决策效率提升了一倍。如果你们在开发过程中遇到问题,比如反爬失败、数据解析错误,都可以在评论区留言,我会尽力解答。后续我还会出一期爬取京东司法拍卖数据的教程,帮助大家获取更多的法拍数据来源。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2176

react高亮显示关键字组件react-highlight

高亮显示关键字组件react-highlight : 结果: 相关react代码: HTML样式代码引入: 总体浏览:

hzxOnlineOk的博客 5603

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

react中替换关键字并且高亮显示的方法

在react项目中,将关键字高亮显示 : 首先封装一个方法,只需要传入('要检索的内容','检索的关键字','给内容中的关键字加上的有特殊标记的标签名')这三个参数即可高亮显示关键字。详见:https://segmentfault.com/a/1190000017433594 warpTag(content, keyword, tagName) { if (co...

weixin_30604651的博客 1149

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

react字符串匹配关键字高亮

const sqlstring = ["ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BIGINT","BINARY","BLOB","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHAR","CHARACTER","CHECK","COLLATE","COLUMN","CONDITION","CONNECTION","CONSTRAINT","CON

gd81325的博客 2329

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

React 封装搜索关键字高亮函数

1.要匹配的内容 2.关键字 // 自封装高亮函数 const highlight = (str: string, key: string) => { return str.replace( new RegExp(key, 'ig'), (match) => `<span>${match}</span>` ) } 2. 调用 <div className="result-value text-ove.

Grey的博客 827

react 搜索框高亮关键字 (函数封装)

1.目标 搜索框搜索时输入的内容高亮起来,使用String.prototype.replace完成函数封装 2. String.prototype.replace 链接:https://developer.mozilla.org/zhCN/docs/Web/JavaScript/Reference/Global_Objects/String/replace 格式: -在目标字符串中,用正则做匹配,如果匹配到,就用参数2的返回值来替代匹配的部分 const 新字符串 = 目标字符串.replace(正则表

留着鼻涕敲代码 1379

react搜索关键字(多关键字)高亮显示,补充当关键字中包含特殊字符时报错的解决

实现效果: 实现: { (val as string) .split(searchInput) .map((txt, index) => { return ( <span>

lingliu0824的博客 1545

react+antd实现搜索文本匹配并高亮

废话不多说,直接抄代码,这是json文本的处理方式,理解思路也可以改成其他类型文本。

qq_51864596的博客 786

react 封装 NavLink

MyNavLink 文件 —— 封装NavLink import React, { Component } from 'react' import { NavLink } from 'react-router-dom' export default class MyNavLink extends Component { render() { return ( <NavLink activeClassName="atguigu" className="list-group-it

信念之于人,犹翅膀之于鸟,信念是飞翔的翅膀 457
上一篇: Arthas:Java开发者的必备利器
下一篇: 解决本地代码commit后发现远程分支被更新的烦恼!
JavaWizard-M
博客等级 码龄6年 3159粉丝 148原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值