文字列から数字を取得しようとしていますが、数字だけではなく、数字を含む完全な文字列を取得し続けています
$string = "stuff here with id=485&other=123";
preg_match('(id=\d+)',$string,$match);
上記の結果は id=485 のようですが、485 だけが必要です
どんな助けでも大歓迎です。
文字列から数字を取得しようとしていますが、数字だけではなく、数字を含む完全な文字列を取得し続けています
$string = "stuff here with id=485&other=123";
preg_match('(id=\d+)',$string,$match);
上記の結果は id=485 のようですが、485 だけが必要です
どんな助けでも大歓迎です。
括弧は何を収集するかを示します。また、両端に区切り文字を使用する必要があります
preg_match('/id\=(\d+)/',$string,$match);
print_r($match);
/* should be
0=>"id=485",
1=>"485"
*/
echo $match[1];
編集: cryptic の回答を参照してください。parse_str は preg_match よりも高速である可能性が高いです。ほとんどのものはそうです。
$string = "stuff here with id=485&other=123";
parse_str(strstr($string, 'id='), $output);
echo $output['id']; // 485
正規表現を使用せずに。