在字符串中出现倒数第二个字符之前删除所有内容

时间:2014-04-18 22:46:33

标签: php string

$link = "http://stackoverflow.com/questions/this/that/ok/";
$link = trim(substr($link, strrpos($link, '/') + 1));
echo $link

这将不返回任何内容,因为它会在/ character及其最后一次出现之前删除所有内容。

如何从ok

返回http://stackoverflow.com/questions/this/that/ok/

2 个答案:

答案 0 :(得分:0)

strrpos可让您指定开始搜索的位置。

将您的行更改为:

$newLink = trim(substr($link, strrpos($link, '/', -1) + 1));

将在结束前开始搜索一个字符。正如@SurrealDreams指出的那样,你仍然需要通过将/添加到结果中修剪的字符来修剪结果的最后/(如果有的话)。

答案 1 :(得分:0)

删除最后一次登录字符串,如果它是/

$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;

分割网址的更好选择是使用RegEx。有一个名为preg_match的函数。