0

PHP preg_match を使用して URL から ID を抽出したい..

例:次$string = 'http://www.mysite.com/profile.php?id=1111';のように出力する必要があります'1111'

preg_match を使用します。

私はこれを試しました:

if(preg_match('/(?:https?):\/\/www\.mysite\.com\/profile\.php\?id\=[0-9]/', $string, $match) > 0){

    $id =  $match[1];
}

しかし、「profile.php」として出力されています

誰か助けてくれませんか?

4

3 に答える 3

2

parse_url一緒に使わない理由parse_str

$url_component = parse_url($string);
parse_str($url_component['query'], $output);
echo $output['id'];
于 2012-08-09T06:34:49.707 に答える
0
$pattern = '/(?:https?):\/\/www\.mysite\.com\/profile\.php\?id\=([0-9]+)/';

これはうまくいくはずです!しかし、parse_urlでこれを行います

于 2012-08-09T06:34:54.893 に答える
0

URL にパラメータが 1 つしかない場合は、次のように爆発関数を使用して簡単に実行できます。

$string = 'http://www.mysite.com/profile.php?id=1111';
$ex=explode('=',$string);
$id=$ex[1];

php の parse_url 関数を使用することもできます。

この助けを願って、

于 2012-08-09T06:35:07.807 に答える