我正在解析一个网页以获得网页奖。奖品包括一个卢比符号 (₹)。
所以我用 preg_replace 来提取数字。
例如:
$str='₹ 1,195 ';
echo preg_replace("/[^0-9]/", '', $str);
输出是:
2091195
我尝试在http://writecodeonline.com/php/上执行相同的代码。
我得到了正确的输出1195
。
我不明白是什么问题。
提前致谢
我正在解析一个网页以获得网页奖。奖品包括一个卢比符号 (₹)。
所以我用 preg_replace 来提取数字。
例如:
$str='₹ 1,195 ';
echo preg_replace("/[^0-9]/", '', $str);
输出是:
2091195
我尝试在http://writecodeonline.com/php/上执行相同的代码。
我得到了正确的输出1195
。
我不明白是什么问题。
提前致谢
如果 unicode 字符串是 UTF-8,您可以使用u ( PCRE_UTF8) 修饰符Docs来告诉preg_replace
它应该使用 UTF-8 模式。如果不是,请先将其重新编码为 UTF-8,然后使用修饰符。
示例(演示):
$subject = '₹ 1,195 ';
$pattern = "/[^0-9]/u";
$result = preg_replace($pattern, '', $subject);
echo $result;