我尝试删除所有已关闭的HTML块。
我是说,例如以下块将被删除,因为它已关闭<> ... </>
<b> some text </b>
但如果它没有关闭(它缺少</>
),那么它就不会被删除。
以下是要处理的HTML代码片段:
<div id="MyDiv">div,
<strong>
<span>span2, </span> <-- This is to delete
<em> Some text for em
<div> Some text for div </div> <-- This is to delete
<p><b>b, <span id="MySpan"> Some text for span ...
处理后,它应如下所示:
<div id="MyDiv">div,
<strong>
<em> Some text for em
<p><b>b, <span id="MySpan">span1,
我需要一个正则表达式语句才能完成它。例如。如下:
var sHTML = $('#MyDiv').html();
sHTML = sHTML.replace(/^<.*>.*?<\/.*>/ig, '');
提前致谢。
答案 0 :(得分:1)
<([^>]*)>[^><]*<\/\s*\1\s*>|<(\w+)\s+[^>]*>[^><]*<\/\s*\2\s*>
试试这个。替换为``。
参见演示。
答案 1 :(得分:0)
Nvm这适用于每个案例,或者我很确定它应该
(<[^>]*>[^<]*<[^>]*>)
答案 2 :(得分:0)
假设你的html位于一个名为test.html的文件中,这里有一个perl one-liner:
perl -pi -e 's/<.*>.*<\/.*>//g' test.html