0

文字列から数字を取得しようとしていますが、数字だけではなく、数字を含む完全な文字列を取得し続けています

$string = "stuff here with id=485&other=123";
preg_match('(id=\d+)',$string,$match);

上記の結果は id=485 のようですが、485 だけが必要です

どんな助けでも大歓迎です。

4

2 に答える 2

5

括弧は何を収集するかを示します。また、両端に区切り文字を使用する必要があります

preg_match('/id\=(\d+)/',$string,$match);
print_r($match);

/* should be
0=>"id=485",
1=>"485"
*/

echo $match[1];

編集: cryptic の回答を参照してください。parse_str は preg_match よりも高速である可能性が高いです。ほとんどのものはそうです。

于 2013-02-13T16:50:28.410 に答える
2
$string = "stuff here with id=485&other=123";

parse_str(strstr($string, 'id='), $output);

echo $output['id']; // 485

正規表現を使用せずに。

于 2013-02-13T16:56:46.400 に答える