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>";