我需要删除最后一个" /"
之前的所有字符这是我的网址:
http://www.example.com/highlights/cat/all-about-clothing/
我想只有:
all-about-clothing
由于
答案 0 :(得分:7)
$str = 'http://www.example.com/highlights/cat/all-about-clothing/';
echo basename($str);
// Outputs: all-about-clothing
修改强>
另一种解决方案:
$str = 'http://www.example.com/highlights/cat/all-about-clothing/';
$path = pathinfo($str, PATHINFO_BASENAME);
echo "<br/>" . $path;
答案 1 :(得分:2)
使用PHP的parse_url()功能。
编辑:
<{1}}或QFileDialog
是更简单的方式。
答案 2 :(得分:1)
$str = 'http://www.example.com/highlights/cat/all-about-clothing/';
$str = trim($str,'/');
$str = explode('/',$str);
echo $str = end($str);
//获得结果
所有-约衣强>
答案 3 :(得分:0)
<?php
$url = "http://www.example.com/highlights/cat/all-about-clothing/";
$url_path = parse_url($url, PHP_URL_PATH);
$basename = pathinfo($url_path, PATHINFO_BASENAME);
echo $basename;
?>
答案 4 :(得分:0)
您也可以使用regex:
$match = [];
$subject = 'http://www.example.com/highlights/cat/all-about-clothing/';
$pattern = '/http:\/\/www\.example\.com\/highlights\/cat\/(.*)/';
preg_match($pattern, $subject, $match);
print_r($match);
您可以看到结果here。
答案 5 :(得分:0)
<?php
$url = 'http://www.example.com/highlights/cat/all-about-clothing/';
$basename = split('/',$url);
echo $basename[5];
?>
答案 6 :(得分:0)
上述大部分解决方案都集中在确切的示例网址上, 请注意,如果在字符串的末尾添加了额外的参数, 你可能会得到错误的结果:
http://www.example.com/highlights/cat/all-about-clothing/?page=1 http://www.example.com/highlights/cat/all-about-clothing/item/1
缓存第3个&#34;目录&#34;在域名之后,忽略URL的其余部分,可以使用以下代码:
$url = "http://www.example.com/highlights/cat/all-about-clothing/item/1";
$url_path = parse_url($url, PHP_URL_PATH); # /highlights/cat/all-about-clothing/item/1
$dirs = explode('/', $url_path); # Array([0] =>"", [1]=>"highlights", [2]=>"cat", [3]=>"all-about-clothing", [4]=>"item", [5]=>"1")
echo $dirs[3]; # all-about-clothing