0
0

More than 1 year has passed since last update.

PHP URLから構成要素を返す

Posted at

目的

  • URLの文字列から構成要素を返すparse_url()関数の使い方をメモ的にまとめる

謝辞

情報

  • 筆者は下記サービスを用いて今回の記事内容の動作確認を行った。

方法

  1. PHPのURL関数の一種であるparse_url()を用いる。
  2. 下記の様に記載することでURLの構成要素の情報を配列で返してくれる。

    parse_url(URL);
    
  3. 例えばhttps://qiita.com/miriwoというURLの文字列を渡すと下記の様に「scheme」「host」「path」を配列で返してくれる。

    $path = 'https://qiita.com/miriwo';
    var_dump(parse_url($path));
    //array(3) {
    //  ["scheme"]=>
    //  string(5) "https"
    //  ["host"]=>
    //  string(9) "qiita.com"
    //  ["path"]=>
    //  string(7) "/miriwo"
    //}
    
  4. 当該の関数の第二引数にコンポーネントを渡すことで任意の値のみ返すこともできる。コンポーネントを指定しないと存在する情報のみを配列で返す。

    parse_url(URL, コンポーネント);
    
  5. 例えばhttps://qiita.com/miriwoのhost部分だけを返してほしい場合は下記の様に指定する。

    $path = 'https://qiita.com/miriwo';
    var_dump(parse_url($path, PHP_URL_HOST));
    // string(9) "qiita.com"と出力される
    
  6. 渡したURLの文字列にコンポーネントで指定した情報がなかった場合、nullを変えす。

    $path = 'https://qiita.com/miriwo';
    var_dump(parse_url($path, PHP_URL_PORT));
    // NULLが返される
    
  7. ポート情報やクエリパラメータの情報も含むURL文字列を当該の関数にわたすと返してくれる。渡すと返してくれる値は下記である。

    • scheme - 例: http
    • host
    • port
    • user
    • pass
    • path
    • query - クエスチョンマーク ? 以降
    • fragment - ハッシュマーク # 以降
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0