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

时间:2015-11-18 09:15:19

标签: php string substring trim

文件名

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";

此代码也可以正常工作..但它可以在简单的步骤中完成..所以我要求的是更好的代码..

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

2 个答案:

答案 0 :(得分:2)

只需使用PHP的preg_replace功能,如

$(".info_div").each(function() {
    var _that = $(this);
    var var1 =  $(this).find('p:nth-child(4)').text();
    var1 = var1.slice(-10);

    var var2 =  $(this).find('p:nth-child(8)').text();
    var2 = var2.slice(-1);

    $.ajax({
        type: "GET",
        url: "http://www.mypage.com/mypage&value1=" + "va1" + "&value2=" + "var2",
        cache: false,
        dataType: "xml",
        success: function(xml) {
            $(xml).find('member').each(function(){
                var name = $(this).find("title").text()
                that.append(name);
            });
        }

    });
});

Demo

答案 1 :(得分:1)

您可以使用preg_replace

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