Php preg_split 在结果中添加一个空字段
Php preg_split add an empty field on result
我尝试使用以下函数拆分 GPS 坐标:
$long = "13°47'52.544\"E";
$res = preg_split("/[°'\"]/", $long);
但结果是:
array(0=>13, 1=>, 2=>47, 3=>52.544, 4=>E)
为什么将第 1 项添加到结果中?
°
是两个字节 0xC2 0xB0
而你不是 Unicode "mode"。因此,它在 0xC2
上拆分,在 0xB0
上再次拆分,中间有一个空项。
使用 u
修饰符启用 Unicode 模式。
$long = "13°47'52.544\"E";
$res = preg_split("/[°'\"]/u", $long);
我尝试使用以下函数拆分 GPS 坐标:
$long = "13°47'52.544\"E";
$res = preg_split("/[°'\"]/", $long);
但结果是:
array(0=>13, 1=>, 2=>47, 3=>52.544, 4=>E)
为什么将第 1 项添加到结果中?
°
是两个字节 0xC2 0xB0
而你不是 Unicode "mode"。因此,它在 0xC2
上拆分,在 0xB0
上再次拆分,中间有一个空项。
使用 u
修饰符启用 Unicode 模式。
$long = "13°47'52.544\"E";
$res = preg_split("/[°'\"]/u", $long);