Php preg_split在结果上添加一个空字段

时间:2018-04-29 15:06:37

标签: php regex preg-split

我尝试用功能分割GPS坐标:

$long = "13°47'52.544\"E";
$res = preg_split("/[°'\"]/", $long);

但结果是:

array(0=>13, 1=>, 2=>47, 3=>52.544, 4=>E)

为什么将第1项添加到结果中?

此处示例:http://www.phpliveregex.com/p/nPv

1 个答案:

答案 0 :(得分:1)

°是两个字节0xC2 0xB0,您不是Unicode“模式”。因此,它会在0xC20xB0上再次分开,中间会有一个空项目。

使用u修饰符启用Unicode模式。

$long = "13°47'52.544\"E";
$res = preg_split("/[°'\"]/u", $long);