Maison  >  Questions et réponses  >  le corps du texte

Titre réécrit comme suit : "Filtrer les balises de script dans un tableau"

J'ai un exemple de balisage :

<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>

Je souhaite écrire un code JavaScript qui filtre toutes les données des balises span dans deux tableaux différents. L’un est utilisé lorsque la couleur est rouge et l’autre lorsque la couleur est bleue. Mais je n'y arrive pas, quelqu'un peut-il m'aider ? J'essaie d'écrire du code JS mais ma solution échoue.

P粉592085423P粉592085423425 Il y a quelques jours455

répondre à tous(1)je répondrai

  • P粉794177659

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

    Vous pouvez simplement utiliser expressions régulières et match() pour obtenir les éléments

    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)

    répondre
    0
  • Annulerrépondre