www.foo.com/Base/index.php/controller/method/
これは私の URL です。「コントローラー/メソッド」の部分だけを取得する必要があります。これを実現するエレガントな方法はありますか?
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];