ユーザーはウェブサイトのHTMLフォームを使用してURLを入力できるため、次のように入力することができます。http://www.example.com?test=123&random=abc、それは何でもかまいません。私は特定のクエリパラメータの値を抽出する必要があります。この場合は 'test'(値123)です。これを行う方法はありますか?PHPのURL文字列からクエリパラメータを抽出するにはどうすればよいですか?
答えて
あなたはこのようparse_url
とparse_str
を使用することができます。
$query = parse_url('http://www.example.com?test=123&random=abc', PHP_URL_QUERY);
parse_str($query, $params);
$test = $params['test'];
parse_url
は異なる部分(スキーム、ホスト、パス、クエリ、など)にURLを分割することができます。ここではクエリ(test=123&random=abc
)のみを取得するために使用します。次に、parse_str
でクエリを解析できます。
parse_urlがPHPエラーを投げる特定のURLは、このコメントをphp.netでチェックアウトしてください:http://www.php.net/manual/en/function.parse-url.php#96433 –
はい、それは 'ホスト構成要素。これは有効なHTTPのようなURLで動作します。 – arnaud576875
これを行うための他の方法はありますか? –
parse_strを使用できないように、私たちのシステムに相対的なURLをチェックする必要がありました。それを必要とする人のため:
$urlParts = null;
preg_match_all("~[\?&]([^&]+)=([^&]+)~", $url, $urlParts);
ですが、あなたのシステムはどのようにネイティブPHP関数をサポートしていませんか? – Vallentin
@Vallentin - 'parse_str()'はPHP 4で導入されました。多分、PHPの以前のバージョンを持っていた可能性があります。 –
ホスト名は省略可能ですが、パラメータ文字列の始まりで、少なくとも疑問符が必要です:[クエリ文字列を解析する正規表現]の
$inputString = '?test=123&random=abc&usersList[]=1&usersList[]=2' ;
parse_str (parse_url ($inputString , PHP_URL_QUERY) , $params);
print_r ($params);
- 1. 文字列から文字列を抽出するにはどうすればよいですか?
- 2. PHPの文字列からURLを抽出するには?
- 3. 次のような文字列から値を抽出するにはどうすればよいですか?
- 4. スペースのない文字列からデータを抽出するにはどうすればよいですか?
- 5. 文字列から数値の束を抽出するにはどうすればよいですか?
- 6. Rの文字列から数値を抽出するにはどうすればよいですか?
- 7. 文字列のリストから構造を抽出するにはどうすればよいですか?
- 8. Excel VBAでラベル値文字列から値を抽出するにはどうすればよいですか?
- 9. パターンからパターンに文字列を抽出するにはどうすればよいですか?
- 10. 文字列からdictを複数抽出するにはどうすればよいですか?
- 11. Perl:クエリ文字列からインナーページアンカーを抽出するにはどうすればよいですか?
- 12. クリップボードから適切に文字列を抽出するにはどうすればいいですか?
- 13. クエリ文字列からURLを抽出
- 14. Logstashは、私がURLからクエリパラメータを抽出しようとしているURL
- 15. MySQLデータベースから文字ごとにテキストを抽出するにはどうすればよいですか?
- 16. パターンに一致する部分文字列を抽出するにはどうすればよいですか?
- 17. Rで部分文字列を抽出するにはどうすればよいですか?
- 18. 文字列からのPHPテキスト抽出
- 19. PHP文字列値をアンドロイド文字列値に変換するにはどうすればよいですか?
- 20. Cの文字配列から文字列を取得するにはどうすればよいですか?
- 21. テキストファイルからJava文字列に文字列をコピーするにはどうすればよいですか?
- 22. nextjs:Next.jsのURLからGET(クエリ文字列)パラメータを取得するにはどうすればよいですか?
- 23. 文字列に右から左の文字が含まれているかどうかを検出するにはどうすればよいですか?
- 24. JSPからURLにクエリ文字列を追加するにはどうすればよいですか?
- 25. C#コードで文字列からサブ文字列を抽出するにはどうすればよいですか?
- 26. xpathのイタリック体に続くリンクからURLを抽出するにはどうすればよいですか?
- 27. Orange3でCSVファイルの列から頻出アイテムセットを抽出するにはどうすればよいですか?
- 28. 部分文字列を文字列から削除するにはどうすればよいですか?
- 29. 他の文字列からURLを抽出するhref
- 30. 文字列のようなパスを文字列から抽出する
可能重複( http://stackoverflow.com/questions/4499538/regular-expression-to-parse-query-string) – Gordon
確かに、重複していますが、parse_urlソリューションは新しい問題につながります。下のuser576875への私のコメントを見てください。 –
'?'で始まる文字列を 'strstr'または' explode'で何かを取り出して 'parse_str'に渡すことができます – Gordon