Maison > Questions et réponses > le corps du texte
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粉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)