PHP

PHPでURLの文字列操作

スクレイピング周りの作業をしていてURLの文字列操作が面倒で調べてみたところ、
parse_urlがというのを知りました、pathinfoみたいで便利でした。

ルートのURLを取得する

$url = 'https://qiita.com/horikeso/items/6103e6a61e320b68a7eb';
$url_info = parse_url($url);
$base_url = $url_info['scheme'].'://'.$url_info['host'];

var_dump($base_url);
var_dump($url_info);
string(17) "https://qiita.com"
array(3) {
  ["scheme"]=>
  string(5) "https"
  ["host"]=>
  string(9) "qiita.com"
  ["path"]=>
  string(36) "/horikeso/items/6103e6a61e320b68a7eb"
}

httpやhttpsから始まっているか判定する

$url = 'qiita.com/horikeso/items/6103e6a61e320b68a7eb';
$url_info = parse_url($url);
if (isset($url_info['scheme']))
{
    // アドレスがhttpやhttpsから始まっている
}

var_dump($url_info);
array(1) {
  ["path"]=>
  string(45) "qiita.com/horikeso/items/6103e6a61e320b68a7eb"
}