PHP 文字列をある文字で2つに分ける

PHP

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>";
カテゴリーPHP

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です