需要网址的最后一部分
http://example.com然后最后一部分什么都没有 如果它是http://example.com/i那么最后一部分是i 如果是http://example.com/i/am/file.php 然后最后一部分是file.php
不确定我是否使用正则表达式或
答案 0 :(得分:19)
这是一个简单的例子:
<?php
$url = "http://example.com/i/am/file.php";
$keys = parse_url($url); // parse the url
$path = explode("/", $keys['path']); // splitting the path
$last = end($path); // get the value of the last element
?>
我希望这可以帮到你;)
答案 1 :(得分:5)
有一个名为parse_url()的函数。
答案 2 :(得分:3)
对于那些使用像WordPress或Magento这样添加尾部斜线的CMS的人来说,Vasil的解决方案很容易添加:
<?php
$url = "http://example.com/i/am/file.php";
$keys = parse_url($url); // parse the url
$path = explode("/", $keys['path']); // splitting the path
$last = end($path); // get the value of the last element
$last = prev($path); // get the next to last element
?>
您甚至可以像这样使用简单的Request URI调用:
$request_path = $_SERVER['REQUEST_URI'];
$path = explode("/", $request_path); // splitting the path
$last = end($path);
$last = prev($path);
答案 3 :(得分:2)
$url = 'http://example.com/i/am/file.php';
$url = rtrim($url, '/');
preg_match('/([^\/]*)$/', $url, $match);
var_dump($match);
答案 4 :(得分:0)
请注意,如果由于某种原因你有一个尾部斜杠,那么Vasil的例子将不起作用,例如一些CMS系统将放在最后(Magento,我在看着你......)
嗯,它会起作用,但路径的结尾是空的。需要注意的事情。