我想知道如何从最后一个字符开始在PHP中剪切string
- >特定的角色。可以说我有以下链接:
www.whatever.com/url/otherurl/2535834
我希望得到2535834
重要提示:该号码可以有不同的长度,这就是为什么我想切出/
,无论有多少号码。
由于
答案 0 :(得分:1)
在这种特殊情况下,使用basename()
:
echo basename('www.whatever.com/url/otherurl/2535834');
更通用的解决方案是preg_replace()
,如下所示:
<----- the delimiter which separates the search string from the remaining part of the string
echo preg_replace('#.*/#', '', $url);
模式'#。* /#'使用PCRE正则表达式引擎的默认贪婪 - 这意味着它将匹配尽可能多的字符,因此将消耗/abc/123/xyz/
而不仅仅/abc/
匹配模式时。
答案 1 :(得分:0)
使用
<?php
$str = 'www.whatever.com/url/otherurl/2535834';
$tmp = explode('/', $str);
echo end ($tmp);
?>
答案 2 :(得分:0)
这应该适合你:
(所以如果你需要,你可以得到带或不带斜线的数字)
<?php
$url = "www.whatever.com/url/otherurl/2535834";
preg_match("/\/(\d+)$/",$url,$matches);
print_r($matches);
?>
输出:
Array ( [0] => /2535834 [1] => 2535834 )
答案 3 :(得分:0)
$str = 'www.whatever.com/url/otherurl/2535834';
echo str_replace("otherurl/", "", strstr($str, "otherurl/"));
strstr()
在针头后面找到所有东西(包括针头),针头被#34;&#34;使用str_replace()
答案 4 :(得分:0)
如果您的模式已修复,您可以随时执行:
$str = 'www.whatever.com/url/otherurl/2535834';
$tmp = explode('/', $str);
echo $temp[3];
答案 5 :(得分:0)
这是我的版本:
$string = "www.whatever.com/url/otherurl/2535834";
echo substr($string, strrpos($string, "/") + 1, strlen($string));