www.foo.com/Base/index.php/controller/method/
这是我的网址,我只需要从中获取“控制器/方法”部分 - 有什么优雅的方法可以实现这一点吗?
parse_url($url, PHP_URL_PATH)
这会很棒,但它会返回整个“Base/index.php/controller/method”部分。
$url = "http://www.foo.com/Base/index.php/controller/method/";
$path = parse_url($url, PHP_URL_PATH);
$parts = explode("/", $path);
$index = array_search("index.php", $parts);
$controller = $parts[$index+1];
$method = $parts[$index+2];
您没有提供有关 url 格式的任何其他信息。但作为示例,您可以将正则表达式与preg_match()一起使用:
$url = "http://www.foo.com/Base/index.php/controller/method/";
preg_match ("/^.*Base\/index.php\/([a-zA-Z0-9_]*)\/([a-zA-Z0-9_]*)\/?/", $url, $data);
$controller = $data[1];
$method = $data[2];