首页  >  问答  >  正文

标题重写为:"将脚本标签筛选至数组"

我有一个示例标记:

<p><span style="color: blue;">现在是这个</span></p>
<p><br></p>
<p>主要配置值是这个</p>
<p><br></p>
<p>!</p>
<p>启用</p>
<p>配置终端</p>
<p>服务器名称 <span style="color: red;">服务器名称</span></p>
<p>启用密码 <span style="color: red;">服务器密码</span></p>
<p>禁用域名查找</p>
<p>IP域名 <span style="color: red;">地区</span>.google.com</p>
<p>!</p>
<p><br></p>

我想编写一个JavaScript代码,将所有的span标签数据过滤到两个不同的数组中。一个用于颜色为红色时,另一个用于颜色为蓝色时。但是我无法做到,有人可以帮我吗?我正在尝试编写JS代码,但我的解决方案失败了。

P粉592085423P粉592085423425 天前458

全部回复(1)我来回复

  • P粉794177659

    P粉7941776592023-09-13 11:08:45

    您可以简单地使用正则表达式match()来获取元素

    const html = `<p><span style="color: blue;">是这个了</span></p>
    <p><br></p>
    <p>主要配置值是这个</p>
    <p><br></p>
    <p>!</p>
    <p>启用</p>
    <p>配置终端</p>
    <p>服务器名称<span style="color: red;">服务器名称</span></p>
    <p>启用密码<span style="color: red;">服务器密码</span></p>
    <p>禁用IP域名解析</p>
    <p>IP域名<span style="color: red;">区域</span>.google.com</p>
    <p>!</p>
    <p><br></p>`
    
    const blueArray = html.match(/(?<=<span style="color: blue;">)(.*?)(?=<\/span>)/g)
    
    console.log(blueArray)
    
    const redArray = html.match(/(?<=<span style="color: red;">)(.*?)(?=<\/span>)/g)
    
    console.log(redArray)

    回复
    0
  • 取消回复