使用PHP中的preg_match提取价格

时间:2013-02-17 19:32:17

标签: php regex preg-match

我有一个字符串,来自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模式吗?

谢谢你,
贾斯汀

2 个答案:

答案 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" }