如何在PHP中只提取部分字符串?

2022-03-29 00:00:00 regex php preg-match

我有一个以下字符串,我想提取Image123.jpg。

..here_can_be_any_length "and_here_any_length/image123.jpg" and_here_also_any_length

Image123可以是任意长度(newImage123456等),扩展名为jpg、jpeg、gif或png。

我假设我需要使用preg_match,但我不是很确定,也不想知道如何编码,或者是否有任何其他方法或函数可以使用。


解决方案

您可以使用:

if(preg_match('#".*?/(.*?)"#',$str,$matches)) {
   $filename = $matches[1];
}

或者,您可以使用preg_Match提取双引号之间的完整路径,然后使用函数basename

从路径中提取文件名
if(preg_match('#"(.*?)"#',$str,$matches)) {
    $path = $matches[1]; // extract the entire path.
    $filename =  basename ($path); // extract file name from path.
}

相关文章