【发布时间】:2020-04-05 13:26:49
【问题描述】:
所以我得到了一串 HTML 标记,例如:
const markup = "<p>thank you for contacting us.&nbsp;<span class=“ck-restricted-editing-exception”>Your</span> case was logged as&nbsp;<span class=“ck-restricted-editing-exception”>Case ID</span>&nbsp;and is assigned to&nbsp;<span class=“ck-restricted-editing-exception”>Technician Name</span>. We will attempt to resolve your issue within the next&nbsp;<span class=“ck-restricted-editing-exception”>Time</span>&nbsp;hours.</p>"
我想要做的是选择所有 (一个接一个),获取它们的内部内容,将其存储在对象数组中并分配一个唯一的 id 或类似于 span 的东西。
像这样
const spanValues = [
{ spanId: 1, spanContent: 'Your' },
...and so on
]
我正在考虑通过“”拆分字符串以获得一个数组,然后遍历该数组,找到所有以“" 并对这些字符串执行操作。
不知道如何从 中获取和存储值
但是,这听起来已经像是一个混乱的解决方案。还有什么其他人可以建议的吗?
【问题讨论】:
-
在什么环境下?浏览器?节点.js?还有什么?
-
@T.J.Crowder 基本上这将在使用 React Native 构建的移动应用程序中的 WebView 内运行。所以它是一个浏览器。
-
与其操作字符串,不如实际操作 DOM 会更聪明,否则如果您想处理该字符串,您可能应该使用正则表达式。
-
@briosheje 有道理,但是标记来自基于 Web 的文本编辑器,即 CKEditor 5。您能详细说明如何使用 Regex 完成它吗?
-
@AjayGupta 好的,我将发布一个基于正则表达式的解决方案
标签: javascript html arrays string