1

我有一个来自 file_get_contents() 调用的字符串,其中包含以下内容:

    <span class="cb_price_countdown cb_lot_price_1439066">$40.65</span>

我想提取价格 40.65。我不熟悉 regex 或 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 模式吗?

谢谢你,
贾斯汀

4

2 回答 2

5

用这个:

preg_match ( '/\$(\d+\.\d+)/', $subject, $matches );
于 2013-02-17T19:35:52.417 回答
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" }
于 2013-02-17T19:39:22.243 回答