如何使用PHP代码获取子字符串

时间:2013-12-02 17:51:55

标签: php regex arrays function preg-match

./gallery/Chrysler/ch3.JPG

我怎样才能得到'克莱斯勒'???

我试过了

$str =   "./gallery/Chrysler/ch3.JPG";

$matches = array();
$preg_match('/\[(.?)\]/',$str, $matches);

请帮帮我

谢谢,

4 个答案:

答案 0 :(得分:5)

这样做。在PHP中使用explode()

$str = "./gallery/Chrysler/ch3.JPG";
$str=explode("/",$str);
echo $str[2]; // "prints" Chrysler

答案 1 :(得分:1)

如果字符串格式没有改变,那么可以使用explode()

来完成
echo explode("/", $str)[2]; // => Chrysler

如果格式发生变化,您可以使用正则表达式:

$str =   "./gallery/Chrysler/ch3.JPG";

$matches = array();
if(preg_match('#\./\w+/(\w+)/\w+\.\w+#',$str, $matches)) {
    echo $matches[1];
}

输出:

Chrysler

答案 2 :(得分:0)

可能有适当的工具吗?

$result = basename(dirname($str));

答案 3 :(得分:0)

Shankar Damodaran的回答是正确的。

为了概括,他也可以使用

$str = "./gallery/Chrysler/ch3.JPG";
$str = explode("/", $str);
echo $str[count($str) - 2]; // "prints" Chrysler

也适用于不同的用例,例如:

$str = "/home/me/gallery/Chrysler/ch3.JPG";

如果他想打印字符串中的最后一个目录,而不是第二个目录(问题中不清楚......)。