PHP 文字列をある文字で前後に分ける
PHP4,5
たとえば、次の文字列(この例はGPSの位置情報)
N35.10.44.14E136.58.12.90
をEの部分で2つ(N35.10.44.14とE136.58.12.90)に分けたいとします。
$result="N35.10.44.14E136.58.12.90"; //Eの出現する場所を探します。 $text_e=strpos($result,'E'); //Eの出現する前まで切り取ります $lat= substr($result,0,$text_e); //Eの出現する後を切り取ります。 $long= substr($result,-($text_e+1)); //結果 print $lat //N35.10.44.14 print $long //E136.58.12.90
PHPマニュアル 文字列の処理
http://jp.php.net/manual/ja/book.strings.php
正規表現を用いて、ちゃんと東経西経、角度に分ける場合、次のようにします。
$match_cont = preg_match('/([NS])([\d\.]+)([EW])([\d\.]+)/', $result, $matches);
var_dump($matches);
if($match_cont == 0) {
print "not matched!!!";
}
print "NS: $matches[1]<br>";
print "latitude: $matches[2]<br>";
print "EW: $matches[3]<br>";
print "longitude: $matches[4]<br>";
