如何在此字体标记之间获得“$ 0.00”?
<font color="#99002B">
$0.00
</font>
这是我想要获得的页面上唯一的一个。
我真的不懂正则表达式,所以也许有人可以帮助他们回答!
由于
编辑: $符号并不总是存在。例如,它可能是;
EUR 0,00
£ 4.44
答案 0 :(得分:1)
您已在此处要求提供正则表达式,但它不是解析HTML的正确tool。
$doc = new DOMDocument;
$doc->loadHTML($html); // Load your HTML data
$xpath = new DOMXPath($doc);
$node = $xpath->query("//font[@color='#99002B']")->item(0);
echo $node->nodeValue; //=> "$0.00"
答案 1 :(得分:0)
/<font color="#99002B">\n?(.+[0-9]+\.[0-9]+)\n?<\/font>/
工作演示:http://refiddle.com/refiddles/53efdb3b75622d2c63940500
如果使用周围还有更多空格:
/<font color="#99002B">\s*(.+[0-9]+\.[0-9]+)\s*<\/font>/
也许您必须在"\n"
之前将所有""
替换为{{1}},然后再进行测试。