如果链接标记包含特定的字符串javascript,请删除该标记

Remove the link tag if it contains a particular string - javascript

本文关键字:删除 javascript 链接 包含特 如果 字符串      更新时间:2023-09-26

我需要去掉所有包含特定字符串的标签,如何在javascript中实现这一点?

这是字符串

<link rel="stylesheet" href="https://REMOVEME">
<link rel="stylesheet" href="https://ccc">
<link rel="stylesheet" href="https://abc/REMOVEME">
<div>yes</div>

这就是的结果

<link rel="stylesheet" href="https://ccc">
<div>yes</div>

这样的任务最好不要用正则表达式来完成。

相反,使用JavaScript可用的DOM接口,例如使用以下ES6函数:

function removeLinks(html, match) {
    var container = document.createElement('span');
    container.innerHTML = html;
    Array.from(container.querySelectorAll('link[href*=' + CSS.escape(match) + ']'))
        .forEach( link => link.parentNode.removeChild(link) );
    return container.innerHTML;
}
// Sample input
var html = '<link rel="stylesheet" href="https://REMOVEME">' +
           '<link rel="stylesheet" href="https://ccc">' +
           '<link rel="stylesheet" href="https://abc/REMOVEME">' + 
           '<div>yes</div>';
// Remove links that match REMOVEME
html = removeLinks(html, 'REMOVEME');
// Output result
console.log(html);

htmlString.replace(/<link[^>]*href="[^>]*REMOVEME[^>]*"[^>]*>/gi,'')