修剪带有数组列表的字符串

时间:2018-09-22 20:49:15

标签: php

我希望能够修剪一个值匹配这样的数组的字符串

$image_formats = array('.png','.jpg', '.jpeg', '.gif');
$file = 'image1.png';

$file_stripped = trim($file, $image_formats);

想要的结果:'image1'

有功能吗,实现此目标的最佳方法是什么?

2 个答案:

答案 0 :(得分:3)

您可以使用str_replace传递搜索值数组:

$image_formats = array('.png','.jpg', '.jpeg', '.gif');
$file = 'image1.png';

$file_stripped = str_replace($image_formats, '', $file);

答案 1 :(得分:1)

trim()用于删除单个字符而不是更长字符串的匹配项。

您可以将$image_formats转换为正则表达式并使用preg_replace()

$image_formats = '/\.(png|jpg|jpeg|gif)$/';
$file_stripped = preg_replace($image_formats, '', $file);