PHP使用正则表达式捕获GPS位置元素

PHP使用正则表达式捕获GPS位置元素,php,gps,Php,Gps,嗨,我有一些意见,比如: $string = "0°25'30"S, 91°7'W" 我想在php中构造一个正则表达式,它捕获各个元素,这样我就可以得到: $position_array = array([0] => 0 [1] => 25 [2] => 30 [3] => S [4] => 91 [0] => 7 [0] => W) 任何帮助都将不胜感激。我会毫不犹豫地尝试以下方法: $array = array_filter(preg_split

嗨,我有一些意见,比如:

$string = "0°25'30"S, 91°7'W"
我想在php中构造一个正则表达式,它捕获各个元素,这样我就可以得到:

$position_array = array([0] => 0 [1] => 25 [2] => 30 [3] => S [4] => 91 [0] => 7 [0] => W)

任何帮助都将不胜感激。

我会毫不犹豫地尝试以下方法:

$array = array_filter(preg_split("/[^A-Za-z0-9]/",$string), function ($segment) {
    return strlen(trim($segment));
});

一个问题。如何确保在一个元素中得到0而不是数组中没有元素?得到了-删除
array\u filter()。我更新了函数,使其包含一个只会删除空白的回调。此外,如果答案正确,请接受这个答案。您不是在设置自己使用此方法失败吗?在提供的示例中,南纬0度15分30秒,西纬91度7分。数组中的元素数量不等,没有任何有意义的值关联。如果查看数组,索引“4”代表什么?91什么?