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

phpはURLの各部分のパラメータを取得します

little bottle
little bottle転載
2019-04-16 11:12:3510483ブラウズ

url は、統合リソース ロケーターであり、インターネットから利用できるリソースの場所とアクセス方法を簡潔に表現したもので、インターネット上の標準リソースです。の住所。 この記事では、PHP 関数を使用して URL の各部分のパラメータを取得する方法を紹介します。

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 のさまざまな部分を分解するのは簡単で、次のような指定された部分を抽出するのも簡単です。 2 番目のパラメータのうち、PHP_URL_SCHEME、PHP_URL_HOST、PHP_URL_PORT、PHP_URL_USER、PHP_URL_PASS、PHP_URL_PATH、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 に変換しますか? 次のパラメータ文字列は自動的に URL エンコードされます

string http_build_query (array formdata [, string numeric_prefix])指定されたキーがない場合、またはキーが数字の場合は配列に添字を追加します

[推奨コース:

PHP ビデオ チュートリアル

]

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

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