0

使用 preg match 来挑选

<table align='center' id='tbl_currency'> <tr> <span class=bld>631.0075 美元</span>

只是我想选择这个数字和货币 631.0075 USD

这个数字和货币是动态的,

可能吗 ,

4

2 回答 2

1

永远不要使用正则表达式,总是使用解析器:

$htmlfragment = "<table align='center' id='tbl_currency'> <tr> <td><span class=bld>631.0075 USD</span></td></tr></table>";

$domdoc = new DomDocument();
$domdoc->loadHTML($htmlfragment);

$xpath = new DOMXPath($domdoc);
$result = $xpath->query("//table[@id='tbl_currency']//span[@class='bld']");

if ($result->length > 0) {
  $currency_span = $result->item(0);
  print $currency_span->nodeValue;
} else {
  print "nothing found";
}

印刷

631.0075 USD

将其包装在一个函数中,您就可以开始了。

如果您以前从未使用过 XPath,您可能想浏览一下XPath 教程。

于 2010-07-02T14:00:00.520 回答
0

stackoverflow 不赞成使用正则表达式从 HTML 源中提取数据。请考虑为此任务使用 html 解析器(例如SimpleHTMLDom)。

如果你想这样做一次,并且快速而且非常肮脏,也许你可以摆脱类似的事情

"<span class=bld>([^<]*)</span>"

这假设所有且只有您感兴趣的所有货币值都包含在 span 标记中,具有 bld 类且没有其他属性。

于 2010-07-02T13:24:34.743 回答