[PHP-users 20278]正規表現による文字列の取得

ha ma masato132 @ hotmail.com
2004年 2月 5日 (木) 17:10:45 JST


こんにちは。hamaといいます。

正規表現に関してアドバイスが欲しくメールしました。
環境はSolaris 9+Apache1.3.29+php4.3.4です。

下記のような位置情報を含む文字列があったとして、
$test_url1 = 
"http://aaa.test.jp/map/?datum=0&unit=1&lat=+35.17013&lon=+137.04055&fm=0";
$test_url2 = 
"http://aaa.test.jp/map/?datum=0&unit=1&lat=+35.17013&lon=+137.04055&alt=9999&time=20040205155810&smaj=255&smin=9999&vert=2736&majaa=234&fm=2"


この文字列から、datum、unit、lat、lon、fmの値を取得し、変数に入れたいと思っ
ています。

$test_url1の場合、
if ( 
ereg("http://[a-zA-Z0-9_\./&\-]*test.jp[a-zA-Z0-9_\./&\-]*\?datum=([01])\&unit=([01])\&lat=([0-9\.+\-]+)\&lon=([0-9\.+\-]+)\&fm=([0-9])",$test_url1,$info 
) ){
  $datum  = $info[1];
  $unit   = $info[2];
  $lat    = $info[3];
  $lon    = $info[4];
  $fm     = $info[5];
}
で値を取得できました。

$test_url2が入ってきた場合でも取得できる正規表現にしたいのですがうまくいきま
せん。
\&lon=([0-9\.+\-]+)(.+)\&fm=([0-9])
などとしてみましたがダメでした。

alt、time、smaj、smin、vert、majaaがどの組み合わせで入るかわからない状態でも

datum、unit、lat、lon、fmの値を取得できる正規表現があればご教授いただけない
でしょうか?

以上。
よろしくお願いいたします。

_________________________________________________________________
友達と24時間ホットライン「MSN メッセンジャー」、今すぐダウンロード!  
http://messenger.msn.co.jp 



PHP-users メーリングリストの案内