Php preg_split добавить пустое поле на результат - PullRequest
0 голосов
/ 29 апреля 2018

Я пытаюсь разделить координату 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 голосов
/ 29 апреля 2018

° - это два байта 0xC2 0xB0, и вы не находитесь в "режиме" Unicode. Поэтому он разделяется на 0xC2 и снова на 0xB0 с пустым элементом в середине.

Включить режим Unicode с модификатором u.

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