正则表达式匹配html标签,获取标签内容

正则表达式匹配html标签,获取标签内容,第1张

假设我们要获取下面html标签中的内容:

第一段是获取 <p></p>标签内部的数据,第二个是获取 <p><span></span></p>标签中的数据,其中span标签中有style属性值。

使用过正则表达式的同学肯定知道,上面两种情况其实都是一种情况,我们要获取的是 尖括号括起来的一对标签 中间的数据,起始标签形如<x>,结束标签形如</x>,这里的x表示的html标签。

此外,我们还需要考虑起始标签中包含style的数据,另外特殊的 <br/>标签,对实际获取数据无意义,也需要过滤掉。

通过上面的分析,我们可以如下正则表达式:

在使用正则表达式处理之前,我们先对数据进行预处理,比如style和

标签:

针对多个标签嵌套的情况进行处理,比如 <p><span style="white-space: normal">王者荣耀</span></p>,在经过预处理和正则匹配的后结果是 <span>王者荣耀 ,需要手工移除掉前面的起始标签,对应的方法如下:

测试方法如下:

output:

<script type="text/javascript">

$(function(){

var $content = $("li:first").find("a").find("font").html()//这是获取出来的内容

var $time = $("li:first").find("span:last").html()//这是获取出来的的时间

var $href = $("li:first").find("a:last").attr("href")//这是获取出来的连接

alert( $content + " , " + $time )//d出内容跟时间

alert($href)//d出连接

})

</script>

我使用的是jQ,你要引用jQ的插件,手写的,忘采纳哦,亲

方法1:

var d = document.createElement("div")

d.innerHTML = '<tr><td class="ppprod_lefttd ppprod_cell">上次余额:</td><td class="ppprod_confirm ppprod_cell" id=""><span name="item22" id="item22" delim="" class="" >114.74</span></td></tr>'

alert(d.getElementsByTagName("span")[0].innerText)

用正则

var str = '<tr><td class="ppprod_lefttd ppprod_cell">上次余额:</td><td class="ppprod_confirm ppprod_cell" id=""><span name="item22" id="item22" delim="" class="" >114.74</span></td></tr>'

alert(str.match(/^.*>(\d+(\.?\d+)?)<.*$/)[1])


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6098295.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-14
下一篇 2023-03-14

发表评论

登录后才能评论

评论列表(0条)

保存