我需要使用PHP去除URL,以便在链接匹配时将类添加到链接中。
网址如下所示:
http://domain.com/tag/tagname/
如何删除网址,以便我只留下"tagname"
?
所以基本上它取出了最后的"/"
和开始"http://domain.com/tag/"
答案 0 :(得分:2)
对于您的网址
http://domain.com/tag/tagname/
获取"tagname"
的PHP函数称为basename()
:
echo basename('http://domain.com/tag/tagname/'); # tagname
答案 1 :(得分:0)
合并一些substring和一些position finding。使用substr并传入URL中最后一个'/'的索引,假设您先删除尾部'/'。
答案 2 :(得分:0)
作为基于substring
的答案的替代方法,您还可以使用正则表达式,使用preg_split
拆分字符串:
<?php
$ptn = "/\//";
$str = "http://domain.com/tag/tagname/";
$result = preg_split($ptn, $str);
$tagname = $result[count($result)-2];
echo($tagname);
?>
(-2
的原因是因为结尾/
,数组的最后一个元素将是一个空白条目。)
作为替代方案,您还可以使用preg_match_all
:
<?php
$ptn = "/[a-z]+/";
$str = "http://domain.com/tag/tagname/";
preg_match_all($ptn, $str, $matches);
$tagname = $matches[count($matches)-1];
echo($tagname);
?>
答案 3 :(得分:0)
非常感谢所有人,这段代码对我有用:
$ptn = "/\//";
$str = "http://domain.com/tag/tagname/";
$result = preg_split($ptn, $str);
$tagname = $result[count($result)-2];
echo($tagname);