$link = "http://stackoverflow.com/questions/this/that/ok/";
$link = trim(substr($link, strrpos($link, '/') + 1));
echo $link
这将不返回任何内容,因为它会在上次出现/字符及其最后一个之前删除所有内容。
如何让它从ok
返回http://stackoverflow.com/questions/this/that/ok/
strrpos允许您指定开始搜索的位置。
将您的行更改为:
$newLink = trim(substr($link, strrpos($link, '/', -1) + 1));
将在结束前开始搜索一个字符。正如@SurrealDreams指出的那样,你仍然需要通过将/
添加到你在结果中修剪的字符来修剪结果的最后一个/
(如果有的话)。
删除最后一个登录字符串,如果它是/
$link = "http://stackoverflow.com/questions/this/that/ok/";
if(strlen($link)== strrpos($link, '/')+1)
$link = substr_replace($link ,"",-1);
$link = substr($link, strrpos($link, '/') + 1);
echo $link;
拆分URL的更好选择是使用RegEx。有一个名为preg_match的函数。