在php中从字符串剪切字符串到特定字符

时间:2014-12-16 12:30:22

标签: php string

我想知道如何从最后一个字符开始在PHP中剪切string - >特定的角色。可以说我有以下链接:

www.whatever.com/url/otherurl/2535834

我希望得到2535834

重要提示:该号码可以有不同的长度,这就是为什么我想切出/,无论有多少号码。

由于

6 个答案:

答案 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)

使用

explode()end()

<?php
$str = 'www.whatever.com/url/otherurl/2535834';
$tmp = explode('/', $str);
echo end ($tmp);
?>

Working Demo

答案 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)

行动中strstr()str_replace()

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