以下の正規表現を見つけるのを手伝ってくれる人はいますか
$string = "id=A12dk9-mds&name=4950";
動的な値を見つけるには、正規表現を見つける必要があります (A12dk9-mds
この例では)。
つまり、=
との間の動的コンテンツ&
以下の正規表現を見つけるのを手伝ってくれる人はいますか
$string = "id=A12dk9-mds&name=4950";
動的な値を見つけるには、正規表現を見つける必要があります (A12dk9-mds
この例では)。
つまり、=
との間の動的コンテンツ&
@MarkBaker が述べているように、これを行う最善の方法は正規表現ではありませんparse_str()
が、実際には URL のクエリ文字列を扱っているためです。
したがって、以下は正常に機能するはずです。
parse_str($string,$arr);
echo $arr['id']; // A12dk9-mds
ここでは、正規表現は間違ったツールです。これはクエリ文字列のように見えるので、PHPのクエリ文字列パーサーを使用してみましょうparse_str
。
$string = "id=A12dk9-mds&name=4950";
parse_str($string, $parsed);
echo $parsed['id'];
そのために単純な正規表現を使用できます。
/id=([^&]*)&/
説明:
id=
id= に一致([^&]*)
& 記号以外のものに可能な限り一致し、それを返します&
& に一致=
それらが常に aと a の間にあることを知っている限り、&
これは機能します。
PHP コード:
$string = "id=A12dk9-mds&name=4950";
preg_match('/id=([^&]*)&/',$string, $answer);
print_r($answer[1]);