如何在php中获取子字符串

时间:2011-02-08 07:52:27

标签: php regex string

我有字符串http://mycloud.net/4d4bf89da2e38.jpg

我想要4d4bf89da2e38.jpg

我如何使用php函数或regexp获取此功能。

请建议。

谢谢

6 个答案:

答案 0 :(得分:8)

在这种情况下,使用basename()可能会更好。但要回答您的问题标题,您可以使用substr()从一段文本中获取子字符串。

basename('http://mycloud.net/4d4bf89da2e38.jpg'); // returns 4d4bf89da2e38.jpg

答案 1 :(得分:4)

$name = pathinfo('http://mycloud.net/4d4bf89da2e38.jpg', PATHINFO_BASENAME);

答案 2 :(得分:1)

[^/]*$

会在最后一次斜线后给你一切。

在PHP中:

if (preg_match('%[^/]*$%', $subject, $regs)) {
    $result = $regs[0];
} else {
    $result = "";
}

但是没有可用于处理文件路径的库吗?

答案 3 :(得分:1)

使用basename()函数:http://php.net/manual/en/function.basename.php。 它可能比regexp更快,而且它将是跨平台的

答案 4 :(得分:0)

您不需要这些功能,只需拆分字符串。

$卡德纳=的 'http://mycloud.net/4d4bf89da2e38.jpg';

$ VEC =爆炸( “/”,$卡德纳);

$名称= array_pop($ VEC);

并且您在变量$ name

中有值

答案 5 :(得分:0)

或者你把sjmg的答案放在一行;)

$name = array_pop(explode('/','http://mycloud.net/4d4bf89da2e38.jpg'));