1

私はURLを持っていhttp://domain.com/script.php?l=7&p=146#p146ます。# なしで p= の後に数値を取得できるようにしたい。また、ハッシュは常にそこにあるとは限らないため、script.php?l=7&p=146. 正規表現文字と関係があることは知っていますが+、使用方法については完全にはわかりません。誰かが正規表現を作成し、それがどのように機能するかを説明できますか?

4

2 に答える 2

5

ここでは正規表現は必要ありません。

$query = parse_url("http://domain.com/script.php?l=7&p=146#p146", PHP_URL_QUERY);
parse_str($query, $params);
echo $params['p'];

parse_urlURL の個別の要素をすべて取得できます。そして、クエリ文字列 (URLの と オプションparse_strの間で見つけたもの) を受け取り、さまざまなパラメーターを見つけ出します。関数のパラメーターを省略して、いくつかの変数を定義することもできます (その後、 で結果を見つけることができます)。しかし、個人的には、この副作用を伴う使用はむしろ嫌いです。?#$paramsparse_str$pparse_str

さらに読みたい場合:parse_urlおよびに関する PHP ドキュメントparse_str

于 2012-10-12T20:39:17.103 に答える
1

車輪を再発明しないでください。parse_urlURL の解析など、組み込み関数を使用します。

ドキュメントと例: http://php.net/manual/en/function.parse-url.php

于 2012-10-12T20:40:06.063 に答える