ホームページ > バックエンド開発 > PHPチュートリアル > PHP の学習 -- URL の解析、php --url_PHP チュートリアル

PHP の学習 -- URL の解析、php --url_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:14:34
オリジナル
733 人が閲覧しました

PHP 学習 -- URL、php の解析 --url

PHP には、URL の解析に使用できるメソッドが 2 つあり、parse_url と parse_str です。

parse_url

URLを解析してそのコンポーネントを返します

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

この関数は URL を解析し、URL に含まれるさまざまなコンポーネントを含む連想配列を返します。

この関数は、指定された URL の有効性を検証するために使用されるのではなく、URL を以下にリストされている部分に分割するだけです。不完全な URL も受け入れられ、parse_url() はそれらをできるだけ正確に解析しようとします。

パラメータ

url 解析する URL。無効な文字は_に置き換えられます。

コンポーネント PHP_URL_SCHEME、PHP_URL_HOST、PHP_URL_PORT、PHP_URL_USER、PHP_URL_PASS、PHP_URL_PATH、PHP_URL_QUERY、または PHP_URL_FRAGMENT のいずれかを指定して、URL の指定された部分の文字列を取得します。 (PHP_URL_PORT として指定された場合を除き、整数値が返されます)。

戻り値

著しく修飾されていない URL の場合、parse_url() は FALSE を返す場合があります。

コンポーネントパラメータが省略された場合、連想配列配列が返され、現在少なくとも 1 つの要素が配列内に存在します。配列内で使用できるキーは次のとおりです:

  • スキーム - http
  • のような
  • ホスト
  • ポート
  • ユーザー
  • パス
  • パス
  • クエリ - 疑問符の後?
  • フラグメント - ハッシュ記号#
  • の後

コンポーネント引数が指定されている場合、parse_url() は配列の代わりに文字列 (または PHP_URL_PORT として指定されている場合は整数) を返します。 URL 内に指定されたコンポーネントが存在しない場合は、NULL が返されます。

インスタンス

リーリー

上記のルーチンは次のように出力します:

リーリー

parse_str

文字列を複数の変数に解析する

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

str が URL によって渡されたクエリ文字列である場合、それを変数に解析し、現在のスコープに設定します。

現在の QUERY_STRING を取得するには、$_SERVER['QUERY_STRING'] 変数を使用できます。

パラメータ

str 入力文字列。

arr 2 番目の変数 arr が設定されている場合、変数は代わりに配列要素としてこの配列に格納されます。 、

インスタンス

リーリー

少し前に php-resque のソース コードを読んでいたところ、これら 2 つのメソッドが Redis リンクの設定を解析するために非常にうまく使用されていると感じました。

Redis リンクの形式は、redis://user:pass@host:port/db?option1=val1&option2=val2 です。これは URL と同じなので、上記の 2 つの方法を使用して簡単に解析できます。

アドレス: https://github.com/chrisboulton/php-resque/blob/master/lib/Resque/Redis.php

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

リーリー

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/909086.html技術記事 PHP の学習 -- URL の解析、php--url PHP には、URL の解析に使用できる 2 つのメソッド、つまり parse_url と parse_str があります。 parse_url は URL を解析し、そのコンポーネントを混合した parse_url ( str...
) を返します。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート