ホームページ  >  記事  >  バックエンド開発  >  URLの各部分のパラメータを取得するphpのコード例

URLの各部分のパラメータを取得するphpのコード例

不言
不言転載
2019-04-12 11:21:442857ブラウズ

この記事の内容は、phpがURLの各種パラメータを取得するためのコード例です。一定の参考値がありますので、困っている方は参考にしていただければ幸いです。

URL は、いくつかの重要な関数 parse_url、parse_str、および http_build_query を処理します

parse_url()

この関数は、URL を解析してそのコンポーネントを返すことができます。これは次のように使用されます。

array parse_url(string $url)

この関数は、既存の URL のさまざまなコンポーネントを含む連想配列を返します。これらのコンポーネントのいずれかが欠落している場合、このコンポーネントの配列エントリは作成されません。コンポーネントは次のとおりです。

  • scheme - http
  • host - localhost
  • port - 80
  • user
  • など
  • パス - /parse_str.php
  • query など - 疑問符?の後に id=1&category=php&title=php-install
  • fragment など -ハッシュ記号

# の後ろ この関数は、指定された URL が有効であることを意味するものではなく、上記のリスト内の部分を区切るだけです。 parse_url() は不完全な URL を受け入れ、それらを正しく解析しようとします。この関数は相対パス URL には影響しません。

<?php
    $url = "http://52php.cnblogs.com/welcome/";
    $parts = parse_url($url);
     
    print_r($parts);
?>

プログラムの実行結果は次のとおりです:

Array
(
    [scheme] => http
    [host] => 52php.cnblogs.com 
    [path] => /welcome/
)
<?php
    $url = &#39;http://username:password@hostname/path?arg=value#anchor&#39;;
    print_r(parse_url($url));
    echo &#39;<br />&#39;;
    echo parse_url($url, PHP_URL_PATH);
?>

#プログラムの出力:

Array
(
    [scheme] => http
    [host] => hostname
    [user] => username
    [pass] => password
    [path] => /path
    [query] => arg=value
    [fragment] => anchor
)

URL の各部分を簡単に分解できます。次のような指定された部分を抽出するのが簡単です。 PHP_URL_QUERY または PHP_URL_FRAGMENT。

parse_str()

parse_str は、URL 内のクエリ文字列、つまり $_SERVER['QUERY_STRING' を通じて取得できる文字列値を解析するために使用されます。要求された URL が http://localhost/parse_str.php?id=1&category=php&title=php-install の場合、$_SERVER['QUERY_STRING'] によって返される値は id=1&category=php&title=php-install です。 、そしてこの形式 文字列は、parse_str を使用して連想配列に解析されます。

使用法は次のとおりです:

void parse_str(string $str [, array &$arr ])

この関数は 2 つのパラメータを受け取ります。$str は必要な文字列です。 to be parsed 、およびオプションのパラメータ $arr は、解析後に生成された配列値が格納される変数名です。オプションのパラメータを無視すると、$id、$category、$title などの変数を直接呼び出すことができます。以下のスクリプトは GET リクエストをシミュレートします。

echo parse_url($url, PHP_URL_PATH);

http_build_query

配列を URL に変換しますか? 次のパラメータ文字列は、urlencode によって自動的に処理されますstring http_build_query (array formdata [, string numeric_prefix])

指定されたキーがない場合、またはキーが数字の場合は配列に添字を追加します

以上がURLの各部分のパラメータを取得するphpのコード例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。