【问题标题】:How do i get sub string using PHP code如何使用 PHP 代码获取子字符串
【发布时间】:2013-12-02 17:51:55
【问题描述】:
./gallery/Chrysler/ch3.JPG
我怎样才能得到“克莱斯勒”???
我试过了
$str = "./gallery/Chrysler/ch3.JPG";
$matches = array();
$preg_match('/\[(.?)\]/',$str, $matches);
请帮帮我
谢谢,
【问题讨论】:
标签:
php
regex
arrays
function
preg-match
【解决方案1】:
这样做。在 PHP 中使用explode()
$str = "./gallery/Chrysler/ch3.JPG";
$str=explode("/",$str);
echo $str[2]; // "prints" Chrysler
【解决方案2】:
如果字符串格式没有改变,那么可以使用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
【解决方案3】:
Shankar Damodaran 的答案是正确的。
概括地说,他也可以使用
$str = "./gallery/Chrysler/ch3.JPG";
$str = explode("/", $str);
echo $str[count($str) - 2]; // "prints" Chrysler
这也适用于不同的用例,例如:
$str = "/home/me/gallery/Chrysler/ch3.JPG";
如果他想打印字符串中的最后一个目录,而不是第二个目录(问题中不清楚......)。
【解决方案4】:
可能有合适的工具?
$result = basename(dirname($str));