首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PHP中获取URL的前3部分?

问如何在PHP中获取URL的前3部分?
EN

Stack Overflow用户
提问于 2014-04-25 05:19:19
回答 5查看 2.6K关注 0票数 6

如何使用PHP获取当前URL的前3部分。

例如:

我的网址:http://something.com/somebody/somegirls/whatever/

得到零件后的结果:http://something.com/somebody/somegirls/

这是我的PHP代码,它获取当前的URL:

代码语言:javascript
复制
<?php   function curPageURL() {
        $url  = isset( $_SERVER['HTTPS'] ) && 'on' === $_SERVER['HTTPS'] ? 'https' : 'http';
        $url .= '://' . $_SERVER['SERVER_NAME'];
        $url .= in_array( $_SERVER['SERVER_PORT'], array('80', '443') ) ? '' : ':' . $_SERVER['SERVER_PORT'];
        $url .= $_SERVER['REQUEST_URI'];
        return $url;
    }

 $current_url = str_replace("www.", "", curPageURL());

?>
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-04-25 05:33:18

尝尝这个,

代码语言:javascript
复制
<?php
  $url = 'http://something.com/somebody/somegirls/whatever/';
  $parts = explode('/', $url);
  $new_url = $parts[0].'/'.$parts[1].'/'.$parts[2].'/'.$parts[3].'/'.$parts[4].'/';
  echo $new_url;
?>

输出

代码语言:javascript
复制
http://something.com/somebody/somegirls/
票数 8
EN

Stack Overflow用户

发布于 2014-04-25 05:35:00

您还可以使用url获取数组中的url,如下所示:

代码语言:javascript
复制
$current_url_array = parse_url($current_url);
var_dump($current_url_array);
票数 2
EN

Stack Overflow用户

发布于 2014-04-25 05:38:44

您可以使用regexp:

代码语言:javascript
复制
<?php

    function getFirstUrlContents($Url) {
        preg_match_all('/^([^\/]*\/){5}/', $Url, $MatchesArray);
        return $MatchesArray[0];
    }

    var_dump(getFirstUrlContents('http://something.com/somebody/somegirls/whatever/'));

?>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23284713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档