今天給大家介紹一個php中用于url解析的函數 parse_url(),此函數可以將一個url地址處理成一個數組,并返返url中各種組成的部份。

php parse_url 函數介紹

国产视频appparse_url():解析 URL 地址,并返回其組成部分。

語法:

parse_url ($url,$component)

參數:

$url:要解析的url地址,如有無效字符會使用 '_' 來替換

$component:獲取 URL 中指定的部分的,可省略。

$component 參數有:

PHP_URL_SCHEME

国产视频appPHP_URL_HOST

国产视频appPHP_URL_PORT

PHP_URL_USER

PHP_URL_PASS

国产视频appPHP_URL_PATH

PHP_URL_QUERY 

国产视频appPHP_URL_FRAGMENT

php解析一個url地址

示例1:php處理一個靜態的url地址

php代碼:

<?php
// 這是一個url地址
$url = 'http://xswdd.cn/post/541.html';
$arr = parse_url($url);
var_dump($arr);
?>

打印結果:

array(3) {
  ["scheme"]=>
  string(5) "https"
  ["host"]=>
  string(17) "xswdd.cn"
  ["path"]=>
  string(14) "/post/541.html"
}

示例2:php處理一個動態的url地址

php代碼:

<?php
// 這是一個url地址
$url = 'http://xswdd.cn/post/?index=20&type=no';
$arr = parse_url($url);
var_dump($arr);
?>

打印結果:

array(4) {
  ["scheme"]=>
  string(5) "https"
  ["host"]=>
  string(17) "xswdd.cn"
  ["path"]=>
  string(6) "/post/"
  ["query"]=>
  string(16) "index=20&type=no"
}

php 獲取url地址提交的參數

国产视频appparse_url() 的第二個參數設置為 PHP_URL_QUERY 的話,可以獲取url 地址中,get方法提交的數據

php代碼:

<?php
$url = 'http://xswdd.cn/post/?index=20&type=no';
$arr = parse_url($url,PHP_URL_QUERY);
var_dump($arr);
?>

返回結果:

index=20&type=no

php 獲取url地址中的主域名

国产视频appparse_url() 第二個參數,如果為 PHP_URL_HOST 話,可以獲取url地址中的主域名

php代碼:

<?php
$url = 'http://xswdd.cn/post/?index=20&type=no';
$arr = parse_url($url,PHP_URL_HOST);
var_dump($arr);
?>

運行結果:

xswdd.cn

php 獲取url地址的協議

parse_url() 第二個參數,如果為 PHP_URL_SCHEME,可以獲取url地址的協議類型

php代碼

<?php
$url = 'http://xswdd.cn/post/?index=20&type=no';
$arr = parse_url($url,PHP_URL_SCHEME);
var_dump($arr);
?>

輸出結果:

https