使用preg match选择
<table align='center' id='tbl_currency'> <tr> <span class=bld>631.0075 USD</span>
我想选择这个号码和货币631.0075美元
此数字和货币是动态的,
有可能,
答案 0 :(得分: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,则可能需要浏览an XPath tutorial。
答案 1 :(得分:0)
使用正则表达式从HTML源提取数据在stackoverflow上不受欢迎。请考虑使用html解析器执行此任务(例如SimpleHTMLDom)。
如果你想这样做一次,快速而且非常肮脏,也许你可以通过
之类的东西逃脱"<span class=bld>([^<]*)</span>"
这假设您感兴趣的所有货币值都包含在span标记中,包含类bld且没有其他属性。