I would like to convert a lat/lng string to decimals in php. An example:
N47° 30.5951' = 47+(30.59517/60) = 47.509918333
Bu, düzenli ifade yapmanın kolay bir yolu var mı?
Teşekkürler
Normal bir regex yerine aritmetik yapamazsınız, ancak bir geri çağırma işlevi ve kullanım preg_replace_callback yazabilirsiniz.
function matches_to_decimal($matches) {
return $matches[2] + ($matches[3]/60);
}
$inputString = "N47° 30.5951'";
$resultDecimal = preg_replace_callback('/(N|S)(\d+)° (\d+\.?\d*)\'/',
"matches_to_decimal",
$inputString);
Buna göre regex ve geri arama işlevini ayarlayın böylece arada, enlem ve boylam, genellikle, W 47 ° 30'35 "N 123 ° 56'12" yazılır.