<root>
<td align="left"><a title="Testing" href="www.test.com/product/">$129.00</a></td><td valign="bottom">Testing</td></root>
如何选择上例中的129.00
?我不想要$
。
目前我有preg_match('/\$.{6}/')
来选择此项。这通常没问题,但每当它变为4位数字符串时,它就会失败。例如。 $50.00
感谢。
答案 0 :(得分:4)
正如许多人会告诉你的那样,不要使用正则表达式来解析html / xml结构。但如果您真的想要或必须使用正则表达式,请尝试以下模式:
\$([0-9\.]+)
替代方案在这里看:
答案 1 :(得分:1)
试试这个正则表达式,从这里得到它:Link
\$\d+\.\d{2}
答案 2 :(得分:0)
replace all "foo" between two HTML tags using REGEX (PHP code)
<?php
$string ='<root>
<td align="left"><a title="Digitan Technology: Click to see item" href="www.digitan.com.au/home.php?cat=2655" target="retailer">$115.20</a></td><td valign="bottom">AMD PHENOM X4 Quad Core 9650 CPU, 2.3GHz (95W), 4MB Cache, Sockets AM2+/AM2</td></root>';
preg_match('/\$([0-9\.]+)(?=(?:.(?!<a))*<\/a>)/', $string, $match);
echo $match[1];
?>