javascript - 如何隔离标记标签中包含的子字符串?
问题描述
任何人都可以建议一种简单的*方法来执行以下操作吗?
"this is <mark>just an</mark> example <mark>snippet</mark>"
到
["this is", "<mark>just an</mark>", "example", "<mark>snippet</mark>" ]
谢谢大家的回答
下面的这个片段也涵盖了带有属性的标签
"<b class="highlight">Paradise</b> Lost"
.split(/(<\w+\s+(?!term).*?>.*?().*?<\/[a-zA-Z]*>)/g)
.filter((i) => i)
解决方案
使用正则表达式进行拆分,但考虑所有具有属性的 HTML 标记和 Web 组件,而不仅仅是<mark>
.
function splitHTML (inputString) {
return inputString
.split(/(<[a-zA-Z-](?!term).*?>.*?().*?<\/[a-zA-Z-]*>)/g)
.filter((i) => i);
}
console.log(splitHTML('this is <mark>just an</mark> example <mark>snippet</mark>'));
上面的代码适用于:
<mark>text</mark>
<my-tooltip>web component</my-tooptip>
<mark class="red">colored text</mark>
推荐阅读
- git - 不一致的 git 子模块远程 url
- c# - 如何从 NEF 或其他 RAW 格式制作字节数组并进行编辑?
- javascript - 在引导列表组项中链接,但在单击链接之前弹出确认
- php - 如何在特定日期内防止重力表格中的重复条目
- chart.js - x 轴上的 Chart.js v3.x 时间序列
- html - Flexbox 和元素位置
- swiftui - 如何在 swiftUI 中将我的数据添加到这个可扩展列表中?
- kivy - 使用来自 kivy 启动器日志文件的信息
- java - Eclipse 2021 Maven Spring Junit 构建失败
- r - 如何拆分由多个分量组成的图并计算其与 R 的接近度?