使用正则表达式剥离HTML tagName

Strip HTML tagName with Regular Expression

本文关键字:HTML tagName 剥离 正则表达式      更新时间:2023-09-26

我正在尝试将HTML标记名与HTML代码分离。我的HTML代码如下:

<div id="MyDiv" style="left:100px; top:10px;" > some text in div
<strong>
<em> Some text for em
<p><b>b,  <span id="MySpan">span1,

在调用REgEx之后,我希望字符串中包含所有有效的HTML标记名。例如,从上面的HTML代码中,它应该得到如下结果:div、strong、em、p、b、span。这是我的方法:

sTagName = sTagName.replace(/< *(.*) *>/, '$1');
alert(sTagName);

上面的RegEx语句为< div >提供了结果:div这没问题。但它提供了< div stlye="..." >的结果:div stlye="..."这是错误的。我只希望它是div。换句话说,在HTML标记名中的空格后,应该删除字符串,这样我就可以得到div标记名。出于性能原因,我不会调用RegEx语句两次。提前谢谢。

通过dom;

var el = $("<div/>").append(html_string).find("*").each(function() {
    alert($(this).prop("tagName"));
});