我正在尝试使用 PHP 和正则表达式从网页中获取价格。价格格式为 123.12 英镑或 123.12 美元(即英镑或美元)。
我正在使用 libcurl 加载内容。然后其输出将进入preg_match_all
. 所以它看起来有点像这样:
$contents = curl_exec($curl);
preg_match_all('/(?:\$|£)[0-9]+(?:\.[0-9]{2})?/', $contents, $matches);
到目前为止这么简单。问题是,PHP 根本不匹配任何东西——即使页面上有价格。我已将其范围缩小到“£”字符存在问题 - PHP 似乎不喜欢它。
我认为这可能是一个字符集问题。但无论我做什么,我似乎都无法让 PHP 匹配它!有人有想法么?
(编辑:我应该注意,如果我尝试使用使用相同的正则表达式和页面内容的正则表达式测试工具,它工作正常)