ホームページ  >  記事  >  php教程  >  PHPでparse_url()を使ってURLを解析する実装コード(parse_urlの詳細説明)

PHPでparse_url()を使ってURLを解析する実装コード(parse_urlの詳細説明)

PHP中文网
PHP中文网オリジナル
2017-06-05 10:58:201324ブラウズ

parse_url は URL を解析し、URL に現れるさまざまなコンポーネントを含む連想配列を返すために使用されます。

PHP 解析 URL 関数: parse_url の詳細な説明
parse_url — 解析URL、そのコンポーネントを返します

説明

array parse_url ( string $url )
この関数は URL を解析し、URL に現れるさまざまなコンポーネントを含む連想配列を返します。
この関数は、指定された URL の有効性を検証するために使用されるのではなく、URL を以下にリストされている部分に分割するために使用されます。不完全な URL も受け入れられ、parse_url() はそれらをできるだけ正確に解析しようとします。
パラメータ
url
解析対象の URL
戻り値
厳密に修飾されていない URL の場合、parse_url() は FALSE を返し、E_WARNING を発行する場合があります。それ以外の場合は、(少なくとも 1 つの) コンポーネントを含む連想配列が返されます:
スキーム – http など
ホスト
ポート
ユーザー
パス
パス
クエリ – 疑問符?
フラグメントの後 – ハッシュ記号の後 # 出力:


多くの場合、URL の大きなリストを送信しますが、それらを解析したい場合は、次のことを続けるだけです。トークンを切り取って解析します。ただし、PHP では開発スピードが他よりも速くなるように、先人が書いた関数の使い方を学ぶ必要があります。もちろん、URL を解析したい場合は、関連する手順を見つける必要があります。今日紹介したいのは、PHP の parse_url 関数です。

この関数は主に URL を解析するために使用されます。まず、この関数のプロトタイプを見てみましょう。
<?php 
$url = &#39;http://username:password@hostname/path?arg=value#anchor&#39;; 
print_r(parse_url($url)); 
?>


mixed parse_url ( string $url) [, int $component= -1 ] )

Array 
( 
[scheme] => http 
[host] => hostname 
[user] => username 
[pass] => password 
[path] => /path 
[query] => arg=value 
[fragment] => anchor 
)
PHP 公式が例を挙げてくれましたが、それを説明しやすいように拡張して以下のようにしました。



コードは次のとおりです。


まず、このプログラムの出力を見てみましょう


その内、スキームはルートに行くことを意味し、ホストはWebサイトのURL、ユーザーはユーザー名、パスはパスワード、パスはパス、クエリはパラメータ、フラグメントはアンカーポイントです。

「$component」部分では以下のパラメータを渡すことができます。
<?php 
$url = &#39;http://username:password@hostname/path?arg1=value1&arg2=value2#anchor&#39;; 
print_r(parse_url($url)); 
?>

PHP_URL_SCHEME
PHP_URL_HOST

PHP_URL_USER
Array ( 
[scheme] => http 
[host] => hostname 
[user] => username 
[pass] => password 
[path] => /path 
[query] => arg1=value1&arg2=value2 
[fragment] => anchor 
)
PHP_URL_PASS

PHP_URL_PATH
PHP_URL_QUERY
PHP_URL_FRAGMENT
これらのパラメータは、配列スキーム、ホスト、ユーザー、パス、パス、クエリ、および断片。

同様に、たとえば PHP_URL_PATH と PHP_URL_QUERY を使用する場合のデモンストレーションは次のとおりです。


コードは次のとおりです:


、出力結果は次のようになります:
/path
arg1=value1&arg2=value2

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。