在PHP中爆炸文件名以使用它的一部分

时间:2018-03-03 14:11:34

标签: php explode

我想显示存储在数组中的filname部分。 目前,我正在使用这样的文件名:

Brand-Product-Variation-ID-EAN-SKU-1.jpg
Brand-Product-EAN-SKU-24.jpg
Brand-Product-SKU-100.jpg

我需要这种格式的文件名:

Brand-Prdocut-Variation-ID-EAN-SKU-{col}.jpg

文件名可能不同,或多或少“ - ”。所以我总是需要在最后一个“ - ”之后的最后一个文件名。

我知道PHP中有一个函数可以分解文件名或文本。 但我不知道如何使用它作为最后一个“ - ”。

3 个答案:

答案 0 :(得分:2)

在最后一次之前获得参与" - "

$arr = explode('-' , 'Brand-Prdocut-Variation-ID-EAN-SKU-1.jpg');  
$val  = $arr[ count($arr) -1 ];

// $val this is your value before the last "-"

答案 1 :(得分:1)

你可以使用php explode

// it will return  an array of '-' seperated values
  $arr= explode('-' , 'Brand-Prdocut-Variation-ID-EAN-SKU-1.jpg');

  // it will return  the index value which is  "1.jpg" in your case 
 $val = end($arr)
  $arr = explode('.' , $val);

 // this is your answer in the col which is "1" in your case
    $col = $arr[0];

答案 2 :(得分:1)

$ss="Brand-Product-SKU-100.jpg";
preg_match("/[A-Za-z-]{1,100}-([0-9]{1,5}).[A-Za-z]{1,3}/",$ss,$kk);
echo "<pre>";
print_r($kk);
echo "</pre>";

100表示​​文件名的最大长度可以是。 (最大长度为&#34;品牌 - 产品-SKU-100&#34;) 5:我们想得到的最大数字长度(例如,最大长度为&#34; 100&#34;) 1,3:长度文件扩展名可以是1或2或3

结果:

Array
(
    [0] => Brand-Product-SKU-100.jpg
    [1] => 100
)