从 Php 中的字符串中删除字符

Removing Characters From String In Php

文件名

cars-lights-neon-1920x1080.jpg
cars-lights-neon-3840x2160.jpg
cars-lights-neon-800x600.jpg

我需要的是

cars-lights-neon.jpg

我试过的

$name="cars-lights-neon-1920x1080.jpg";
$newname =   substr($name, 0, -4); //removing.jpg
// Real name
$rev= strrev("$newname"); // outputs "0801x0291-noen-sthgil-srac"
$revok= strstr($rev, '-'); //outputs "-noen-sthgil-srac"
$neutral = strrev("$revok"); //outputs "cars-lights-neon-"
$neutral = substr($neutral, 0, -1); //outputs "cars-lights-neon"

$filename = $neutral.".jpg"; //outputs "cars-lights-neon.jpg";

这段代码也可以正常工作..但它可以通过简单的步骤完成..所以我要问的是更好的代码..

//文件名和分辨率来自数据库,所以每次都不一样.. 谢谢

只需像

一样使用PHP的preg_replace函数
$name = "cars-lights-neon-1920x1080.jpg";
echo preg_replace('/(-\d+x\d+)/','',$name);//cars-lights-neon.jpg

Demo

您可以使用 preg_replace:

$string = 'cars-lights-neon-1920x1080.jpg';
$filename = preg_replace('/-[0-9]{3,4}x[0-9]{3,4}/', '', $string);