1
www.foo.com/Base/index.php/controller/method/
這是我的網址,我只需要得到「控制器/方法」部分 - 是否有任何優雅的方式來實現這一目標?解析網址和路由問題
parse_url($url, PHP_URL_PATH)
這會很好,但它會返回整個「Base/index.php/controller/method」部分。
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];
您沒有提供關於網址格式的任何其他信息。但是,例如,您可以使用正則表達式與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];
'explode'結果? –
爆炸,刪除...這對我來說並不是那麼優雅:P – user2252786
@ user2252786您是否找到答案? –