首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >读取URL最后部分的更好方法

读取URL最后部分的更好方法
EN

Stack Overflow用户
提问于 2012-04-14 22:38:17
回答 5查看 330关注 0票数 1

此脚本应该检测完整路径中的最后一部分,如果是stackoverflow输出ok

代码语言:javascript
复制
$current_url = $_SERVER['REQUEST_URI'];

$current_url_arr = explode('/',$current_url);
$count = count($current_url_arr);

if($current_url_arr[$count-2] == 'stackoverflow'){
    echo 'ok';
}
else {
    echo 'not ok';
}

示例1:www.myserver.ext/something/else/stackoverflow/输出:ok

示例2:www.myserver.ext/something/else/stackoverflow输出:not ok

示例3:www.myserver.ext/something/else/stackoverflow/foo输出:not ok

我希望你能理解这个想法。这个脚本运行良好,但我想知道是否有更好、更优雅的方式来读取URL的最后部分?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-04-14 22:40:33

是!有$_SERVER['PATH_INFO']

代码语言:javascript
复制
if(isset($_SERVER['PATH_INFO'])) {
    $info = explode('/', trim($_SERVER['PATH_INFO'], '/'));

    if($info[count($info) - 1] === 'stackoverflow') {
        echo 'ok';
    } else {
        echo 'not ok';
    }
}
票数 3
EN

Stack Overflow用户

发布于 2012-04-14 22:44:39

代码语言:javascript
复制
if (preg_match("#stackoverflow/$#", $_SERVER['REQUEST_URI'])) {

    echo 'ok';
}
票数 5
EN

Stack Overflow用户

发布于 2012-04-14 23:13:58

我认为这是最好的方法:

代码语言:javascript
复制
<?php

    $url = "www.myserver.ext/something/else/stackoverflow/";

    $fullpath = parse_url($url, PHP_URL_PATH);
    $paths = explode("/", $fullpath);
    $path = $paths[sizeof($paths)-1];

    if ($path === "stackoverflow") {
        # Condition satisfied
    }

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

https://stackoverflow.com/questions/10157927

复制
相关文章

相似问题

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