使用javascript从开始标记到结束标记,使用值删除选定的html元素

使用javascript从开始标记到结束标记,使用值删除选定的html元素,javascript,html,jquery,Javascript,Html,Jquery,我正在尝试解析HTML,希望从TextArea1中的字符串中删除所有select>../select>,并希望在TextArea2中显示输出(纯文本)。代码如下: <!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8" /> </head> <body> <textarea

我正在尝试解析HTML,希望从TextArea1中的字符串中删除所有
select>../select>
,并希望在TextArea2中显示输出(纯文本)。代码如下:

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta charset="utf-8" />
</head>
<body>
    <textarea id="TextArea1" rows="10" cols="100"></textarea><br />
    <textarea id="TextArea2" rows="10" cols="100"></textarea><br />
    <input id="Submit1" onclick="parsehtml()" type="submit" value="submit" />
    <script>
        function parsehtml() {
            let value = document.getElementById("TextArea1").value
                .split('\n')
                .filter(item => item.startsWith('<span>'))
                .map(item => item.replace(/<\/?[^>]+>/ig, " ").trim()).join(' ')

            document.getElementById("TextArea2").value = value
        }
    </script>
</body>
</html>
如果我把所有的代码都放在一行中,代码就起作用了。但如果我把所有代码都放在一行中,就不起作用了

<select><option>opt 1</option></select><span>Span 1</span>...

您可以创建一个
div
,将
TextArea1
的内容作为HTML放入该
div
中,使用Javascript的DOM支持删除
选择
并将
内部HTML
复制到
TextArea2

函数replaceSelect(){
var div=document.createElement(“div”);//创建了一个div
div.innerHTML=document.getElementById(“TextArea1”).value;//将源文本作为HTML复制到div中
for(让我们选择div.querySelectorAll(“select”))select.remove();//删除div中的select标记并将其删除
document.getElementById(“TextArea2”).innerText=div.innerHTML;//将结果复制到目标中
}
opt 1Span 1…opt 1Span 2

Um,你不能用正则表达式解析html。如果您只想删除选择,可以使用惰性匹配和替换
Span 1 Span 2
<select><option>opt 1</option></select><span>Span 1</span>...
Hello <select class="..." onchange="..."><option>opt 01</option><option>opt 02</option></select><span>World</span> Hello <select><option>opt 11</option><option>opt 12</option></select> <span>Again</span>

//need output like below

//Hello World Hello Again