./gallery/Chrysler/ch3.JPG
我怎样才能得到'克莱斯勒'???
我试过了
$str = "./gallery/Chrysler/ch3.JPG";
$matches = array();
$preg_match('/\[(.?)\]/',$str, $matches);
请帮帮我
谢谢,
答案 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";
如果他想打印字符串中的最后一个目录,而不是第二个目录(问题中不清楚......)。