一尘不染

获取URL PHP的最后一部分

php

我只是想知道如何使用PHP提取URL的最后一部分。

示例URL是:

http://domain.com/artist/song/music-videos/song-title/9393903

现在如何使用PHP提取最后一部分?

9393903

URL中始终有相同数量的变量,并且id始终在末尾。


阅读 453

收藏
2020-05-26

共1个答案

一尘不染

您可以使用preg_match来匹配所需的URL部分。

在这种情况下,由于该模式很简单,因此我们正在寻找一个正斜杠(\/并且由于正斜杠表示正则表达式模式的开始和结束,因此我们必须对其进行转义),以及一个或多个数字(\d+)字符串($)的末尾。圆括号\d+用于捕获我们想要的片段:即结尾。然后,我们将我们想要的结尾($end)分配给$matches[1](不是$matches[0],因为它与$url(即整个字符串)相同)。

$url='http://domain.com/artist/song/music-videos/song-title/9393903';

if(preg_match("/\/(\d+)$/",$url,$matches))
{
  $end=$matches[1];
}
else
{
  //Your URL didn't match.  This may or may not be a bad thing.
}

注意: 您可能会或可能不想在此正则表达式中添加更多的复杂性。例如,如果您知道您的URL字符串将 始终以
开头,http://则正则表达式可以变为/^http:\/\/.*\/(\d+)$/(其中.*表示零个或多个字符(不是换行符))。

2020-05-26