PHPでparse_url関数を使用してURLを解析する方法

王林
リリース: 2023-06-26 13:16:02
オリジナル
1768 人が閲覧しました

URL は Web 開発の基本概念であり、Web 上のリソースを見つけるために使用されるアドレスである、Uniform Resource Locator を指します。 PHPにはURLを解析する組み込み関数parse_urlがあり、この記事ではこの関数の使い方を紹介します。

1. parse_url 関数の基本概念
PHP の parse_url 関数は、URL を解析し、URL のさまざまなコンポーネントを返すために使用される関数です。この関数でサポートされる URL タイプには、http、ftp、gopher、file などが含まれます。この関数を使用すると、ほとんどすべての URL を解析でき、次のキーと値のペアを含む配列を返します:

scheme: URL のプロトコル部分
host: URL のホスト名部分
port : URL のポート部分
user: URL のユーザー名部分
pass: URL のパスワード部分
path: URL のパス部分
query: クエリ文字列部分URL の
フラグメント: URL アンカー部分

2. parse_url 関数の使用方法
次は、parse_url 関数を使用して URL:

$url = "https://www.example.com/index.php?key1=value1&key2=value2#section1";
$arr = parse_url($url);
print_r($arr);
ログイン後にコピー
# を解析するためのサンプル コードです。 ##出力結果は次のとおりです:

Array
(
    [scheme] => https
    [host] => www.example.com
    [path] => /index.php
    [query] => key1=value1&key2=value2
    [fragment] => section1
)
ログイン後にコピー

Yes parse_url 関数が URL からプロトコル、ホスト、パス、クエリ文字列、アンカー ポイントを抽出し、配列として返していることがわかります。

3. クエリ文字列部分を解析する

実際の開発では、通常、クエリ文字列には Web サーバーに渡されるパラメータと値が含まれるため、URL 内のクエリ文字列部分を解析する必要があることがよくあります。 。 PHP の parse_str 関数を使用すると、クエリ文字列を解析して連想配列にすることができます。以下はサンプル コードです:

$str = "key1=value1&key2=value2";
parse_str($str, $arr);
print_r($arr);
ログイン後にコピー

出力結果は次のとおりです:

Array
(
    [key1] => value1
    [key2] => value2
)
ログイン後にコピー

parse_str 関数はクエリ文字列を連想配列に解析します。各キーはクエリ文字列内のパラメータ名に対応します。 . . の各値はパラメータ名に対応する値に対応します。

4. 複数の URI を解析する

実際の開発では、複数の URL を同時に解析する必要がある場合がありますが、このときは PHP の array_map 関数を使用します。 array_map 関数の機能は、指定された配列内の各要素にコールバック関数を適用し、コールバック関数の実行結果を含む新しい配列を返すことです。以下はサンプル コードです:

$urls = [
    "https://www.example.com/index.php?key1=value1&key2=value2#section1",
    "https://www.example.com/about-us.php?key1=value3&key2=value4#section2"
];
$arrs = array_map('parse_url', $urls);
print_r($arrs);
ログイン後にコピー

出力結果は次のとおりです:

Array
(
    [0] => Array
        (
            [scheme] => https
            [host] => www.example.com
            [path] => /index.php
            [query] => key1=value1&key2=value2
            [fragment] => section1
        )

    [1] => Array
        (
            [scheme] => https
            [host] => www.example.com
            [path] => /about-us.php
            [query] => key1=value3&key2=value4
            [fragment] => section2
        )

)
ログイン後にコピー
array_map 関数が配列内の各要素をパラメータとして parse_url 関数に渡し、 parse_url 関数 結果は新しい配列に追加されて返されます。

5. 概要

この記事では、PHP で parse_url 関数を使用して URL を解析する方法を紹介します。最初に parse_url 関数の戻り値について学び、次に parse_str 関数を使用してクエリ文字列部分を解析する方法を紹介し、最後に複数の URL を同時に解析する方法も紹介しました。これらの基本的な使用方法を知っていれば、実際の開発で URL を解析するニーズを満たすのに十分です。

以上がPHPでparse_url関数を使用してURLを解析する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート