ホームページ > バックエンド開発 > PHPの問題 > PHPでURLを配列に変換する方法

PHPでURLを配列に変換する方法

PHPz
リリース: 2023-04-26 14:59:07
オリジナル
971 人が閲覧しました

PHP では、URL からページに関する情報を取得できるように、URL を便利な配列に変換する必要がある場合があります。この記事では、PHP 関数を使用して URL を配列に変換する方法を学びます。

URL を配列に変換するには、PHP で parse_url() 関数と parse_str() 関数を使用する必要があります。 Parse_url() 関数は URL を部分に分割し、parse_str() 関数はクエリ文字列を分割して連想配列に変換します。

まず、parse_url() 関数の構文を見てみましょう:

parse_url($url, $component);
ログイン後にコピー

この構文では、$url パラメーターは分解される URL、$component パラメーターは URL です。返却されるコンポーネントです。 $component パラメータはオプションで、次のいずれかを指定できます。

  • PHP_URL_SCHEME - プロトコル (http、https など)
  • PHP_URL_HOST - ドメイン名または IP アドレス
  • PHP_URL_PORT - ポート番号
  • PHP_URL_USER - ユーザー名
  • PHP_URL_PASS - パスワード
  • PHP_URL_PATH - URL パス
  • PHP_URL_QUERY - クエリ文字列
  • PHP_URL_FRAGMENT - フラグメント識別子

$component パラメーターが指定されていない場合、parse_url() 関数は URL のすべての部分を含む連想配列を返します。

これは、parse_url() 関数を使用して URL をコンポーネント部分に分割する方法を示すサンプル コードです:

$url = "http://www.example.com/index.php?id=1&name=john#about";
$url_parts = parse_url($url);

echo "<pre class="brush:php;toolbar:false">";
print_r($url_parts);
echo "
";
ログイン後にコピー

上記のコードは次の出力を生成します:

Array
(
    [scheme] => http
    [host] => www.example.com
    [path] => /index.php
    [query] => id=1&name=john
    [fragment] => about
)
ログイン後にコピー

次に、parse_str() 関数を使用してクエリ文字列を連想配列に変換します。 parse_str() 関数の構文は次のとおりです。

parse_str($query, $result);
ログイン後にコピー

この構文では、$query パラメーターは分解されるクエリ文字列であり、$result パラメーターは変換されたクエリ文字列を保存するための連想配列です。 。

以下は、parse_str() 関数を使用してクエリ文字列を連想配列に変換する方法を示すサンプル コードです。

$url = "http://www.example.com/index.php?id=1&name=john#about";
$url_parts = parse_url($url);
parse_str($url_parts['query'], $query);

echo "<pre class="brush:php;toolbar:false">";
print_r($query);
echo "
";
ログイン後にコピー

上記のコードは、次の出力を生成します。

Array
(
    [id] => 1
    [name] => john
)
ログイン後にコピー

最後に、parse_url() 関数と parse_str() 関数を使用して、URL を、URL のすべてのコンポーネントとクエリ文字列を含む連想配列に変換します。

次は、URL を配列に変換するサンプル コードです:

$url = "http://www.example.com/index.php?id=1&name=john#about";
$url_parts = parse_url($url);
parse_str($url_parts['query'], $query);
$result = array(
    'scheme' => $url_parts['scheme'],
    'host' => $url_parts['host'],
    'port' => $url_parts['port'],
    'user' => $url_parts['user'],
    'pass' => $url_parts['pass'],
    'path' => $url_parts['path'],
    'query' => $url_parts['query'],
    'fragment' => $url_parts['fragment'],
    'query_array' => $query
);

echo "<pre class="brush:php;toolbar:false">";
print_r($result);
echo "
";
ログイン後にコピー

上記のコードは次の出力を生成します:

Array
(
    [scheme] => http
    [host] => www.example.com
    [port] =>
    [user] =>
    [pass] =>
    [path] => /index.php
    [query] => id=1&name=john
    [fragment] => about
    [query_array] => Array
        (
            [id] => 1
            [name] => john
        )

)
ログイン後にコピー

これで、URL が正常に変換されました。 URL を含む配列への URL URL のすべてのコンポーネントとクエリ文字列の連想配列。

概要:

PHP では、parse_url() 関数と parse_str() 関数を使用して URL を簡単に配列に変換できます。この方法は、URL から必要な情報を抽出できるため、非常に便利です。変換された配列を使用して、サイトマップの生成や有用な SEO 情報の抽出などのさまざまなタスクを実行できます。

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

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