1

以下の正規表現を見つけるのを手伝ってくれる人はいますか

$string = "id=A12dk9-mds&name=4950";

動的な値を見つけるには、正規表現を見つける必要があります (A12dk9-mdsこの例では)。

つまり、=との間の動的コンテンツ&

4

3 に答える 3

2

@MarkBaker が述べているように、これを行う最善の方法は正規表現ではありませんparse_str()が、実際には URL のクエリ文字列を扱っているためです。

したがって、以下は正常に機能するはずです。

parse_str($string,$arr);
echo $arr['id']; // A12dk9-mds
于 2012-09-20T21:55:42.573 に答える
1

ここでは、正規表現は間違ったツールです。これはクエリ文字列のように見えるので、PHPのクエリ文字列パーサーを使用してみましょうparse_str

$string = "id=A12dk9-mds&name=4950";
parse_str($string, $parsed);
echo $parsed['id'];
于 2012-09-20T21:52:18.750 に答える
1

そのために単純な正規表現を使用できます。

/id=([^&]*)&/

説明:

  • id=id= に一致
  • ([^&]*)& 記号以外のものに可能な限り一致し、それを返します
  • && に一致

=それらが常に aと a の間にあることを知っている限り、&これは機能します。

PHP コード:

$string = "id=A12dk9-mds&name=4950";
preg_match('/id=([^&]*)&/',$string, $answer);
print_r($answer[1]);
于 2012-09-20T21:48:13.760 に答える