【发布时间】:2013-08-08 14:49:25
【问题描述】:
我正在使用正则表达式从 HTML 页面中获取一些价格。我有 £ 和 $ 的工作字符串,但是一旦我将其更改为欧元并将货币符号放在正则表达式字符串的末尾,它似乎不起作用。
这是我的代码:preg_match('/([0-9]+[\.]*[0-9]*)\€/', $totalprice, $value);
然而 $value 返回一个空数组。
谢谢!
【问题讨论】:
-
您是否保存文件UTF-8 编码(无BOM)?您的 IDE 中应该有一个设置。只有使用正确的编码,plain € 符号才能正确保存。否则按照建议使用
€。 -
顺便说一句: 在您正在抓取的来源中,€ 符号之前是否有空格?如果是这样,请在正则表达式中添加
\s。例如。/(\d+\.*\d*)\s?[€]/siu.