繁体   English   中英

javascript 中的正则表达式来获取<span>标签</span>的内容

[英]Regular expression in javascript to get contents of <span> tags

我有这个表格的字符串

<p>Central: <span class="fieldText">Central_Local</span>
<br>Area Resolutoria:  <span class="fieldText">Area_Resolutoria</span>
<br>VPI:  <span class="fieldText">VIP</span>

我正在尝试获取span元素,并在其中找到值

var message = currentMarker.get("mensaje");
var pat = new RegExp("^(.*?<span .*?>(.*?)</span>.*?)+$");
message.match(pat);

我需要得到这些值:

Central_Local
Area_Resolutoria
VIP
IP_ERX

如何做到这一点,或者如何改进我的正则表达式?

jQuery

var message = currentMarker.get("mensaje");
var contents = [];
$('<div>', {html: message }).find('span.fieldText').each(function(){
  contents.push( $(this).text() );
});

演示http://jsfiddle.net/DfDPR/2/


纯javascript

var message = currentMarker.get("mensaje");
var contents = [];

var div = document.createElement('div');
div.innerHTML = message;
var spans = div.getElementsByTagName('span');
for (var span = 0; span < spans.length; span++)
{
    contents.push(spans[span].innerHTML);
}

演示在http://jsfiddle.net/DfDPR/3/


正如评论中提到的,正则表达式不是解析 HTML 的好候选...

jQuery 中的琐碎任务

var values = $('span.fieldText', message).map(function(){
    return $(this).text();
}).get();

values将是一个包含您需要的所有值的数组。 您可以对其进行迭代或做任何您喜欢的事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM