PHP - 剥离URL以获取标记名称

时间:2010-07-30 17:26:59

标签: php url

我需要使用PHP去除URL,以便在链接匹配时将类添加到链接中。

网址如下所示:

http://domain.com/tag/tagname/

如何删除网址,以便我只留下"tagname"

所以基本上它取出了最后的"/"和开始"http://domain.com/tag/"

4 个答案:

答案 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);