隔离 URI PHP 末尾存在的数字



我有以下URI:

  /belt/belts/fk/product/40P35871

我想检索最后一个/之后的最后一个内容。在本例中为 40P35871。我该怎么做?

explode怎么样?

$elements = explode('/', $input);
$productId = end($elements);

这是一个完全不同的解决方案。 (也是最简单的!

使用basename

$var = "/belt/belts/fk/product/40P35871";
echo basename($var);

输出:

40P35871

对于这样简单的事情,您不需要正则表达式。考虑使用 strrchr ,此处的文档

$lastcontent = substr(strrchr($uri, "/"), 1);

考虑到$uri是一条道路的特殊情况,最好的答案将是Chtulhu提供的答案。

basename将返回路径的最后一部分,此处的文档

$lastcontent = basename($uri);

就像这样

$str = '/belt/belts/fk/product/40P35871';
$arr = explode('/', $str);
$var = array_pop($arr);
var_dump($var);

$var = substr($str, strrpos($str,'/') + 1);

试试这个

$result = preg_replace('%(/(?:[^/]+?/)+)([^/]+)b%', '$2', $subject);

使用这个:

echo preg_replace('/[a-z0-9]$/i', '$1', $url);

这将为您提供最后一个位置

注意:但仅在此 URL 上,查询字符串使其无用,并且需要首先解析相同的 URL 才能正常工作

不要使用正则表达式。在这种情况下,您可以执行以下操作

myUrl = $_SERVER[REQUEST_URL];
$number = substr(strrpos(myUri,'/')+1);

你不需要regex .

找到最后的内容并使用substr()获取它:

$lastcontent = substr(strrchr($uri, "/"), 1);

最新更新