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

makino k-m @ hyper.cx
2004年 2月 5日 (木) 18:55:03 JST


牧野です。

Thu, 05 Feb 2004 17:10:45 +0900
ha ma<masato132 @ hotmail.com> -wrote:
> こんにちは。hamaといいます。
> 
> 正規表現に関してアドバイスが欲しくメールしました。
/*******************/
これじゃダメですか?
(それにしても汚い正規表現だこと...ごめんなさい)
<?php
$URL = "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";

$_url = parse_url($URL);

preg_match("/datum=([0-1]{1})&unit=([0-1]{1})&lat=([\+\-\.[0-9].*)&lon=([\+\-\.[0-9].*)&alt=([0-9].*)&time=([0-9]{14})&smaj=([0-9]{3})&smin=([0-9]{4})&vert=([0-9]{4})&majaa=([0-9]{3})&fm=([0-9]{1})/",
$_url[query], $matches);
echo "<pre>";
print_r($matches);
echo "</pre>";
?>

----結果
Array
(
    [0] => datum=0&unit=1&lat=+35.17013&lon=+137.04055&alt=9999&time=20040205155810&smaj=255&
    		smin=9999&vert=2736&majaa=234&fm=2
    [1] => 0
    [2] => 1
    [3] => +35.17013
    [4] => +137.04055
    [5] => 9999
    [6] => 20040205155810
    [7] => 255
    [8] => 9999
    [9] => 2736
    [10] => 234
    [11] => 2
)


/*++++++++++++++++++++++++++++++++
 * 牧野 <k-m @ hyper.cx>
 *++++++++++++++++++++++++++++++++
 */





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