我有一个字符串,来自file_get_contents()调用,包含类似的内容:
<span class="cb_price_countdown cb_lot_price_1439066">$40.65</span>
我想提取价格40.65。我不熟悉正则表达式或preg_match所以我很难过。到目前为止,我已经尝试过:
$pattern = "/\\\$?((\d{1,3}(,\d{3})*)|(\d+))(\.\d{2})?$/";
preg_match ($pattern, $subject, $matches);
print_r ($matches);
哪个没有回复任何有用的东西,我试过了:
$pattern = "/[\d+|\d+,\d+]\.\d{0,2}/";
但这是同一个故事。有人可以告诉我正在寻找的正确的preg_match模式吗?
谢谢你,
贾斯汀
答案 0 :(得分:5)
使用它:
preg_match ( '/\$(\d+\.\d+)/', $subject, $matches );
答案 1 :(得分:1)
$result = array();
$str = '<span class="cb_price_countdown cb_lot_price_1439066">$40.65</span>';
preg_match('/<span[^>]*>\$(.*)<\/span>/', $str, $result);
var_dump($result);
的产率:
array(2) { [0]=> string(61) "$40.65<" [1]=> string(5) "40.65" }