用正则表达式切片网址 - php

时间:2018-01-30 08:17:37

标签: php regex

我正在尝试对网址进行切片,但我无法让它像我想要的那样工作,我使用的是parse_url,它会返回部分网址但不是我要查找的内容。有没有这样做的功能,还是我必须使用正则表达式?

示例网址

  

http://www.example.com/en/some-slug

     

http://www.example.nl/nl/een-slug

所以我试图获取当前的部分, com / en / nl / nl / ,当不匹配时返回第一部分 com / nl / 。所以我试图获得域扩展+下一条路径。

// Tried this, but not the results that im looking for 

$url = 'http://www.example.com/en/some-slug';

var_dump( parse_url($url) );

// returns this(not wat im looking for

array(3) {
  ["scheme"]=>
  string(4) "http"
  ["host"]=>
  string(15) "www.example.com"
  ["path"]=>
  string(13) "/en/some-slug"
}

1 个答案:

答案 0 :(得分:1)

使用PHP function parse_url获取网址的所有组件

<?php
$url = '//www.example.com/dir?data=1';

// Prior to 5.4.7 this would show the path as "//www.example.com/path"
var_dump(parse_url($url));
?>

输出:

array(3) {
  ["host"]=>
  string(15) "www.example.com"
  ["path"]=>
  string(4) "/dir"
  ["query"]=>
  string(6) "data=1"
}