我有以下 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
像这样
$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);