PHP如何在2个符号之间剪切字符串

时间:2014-12-13 08:54:53

标签: php string

我有这个图片名称:very-nice-rose-123-3.jpg

如何将其切割成零件并仅接收最后一个破折号和图像扩展名之间的部分。我需要在此示例中获得3

3 个答案:

答案 0 :(得分:5)

您可以使用字符串函数,例如explode()substr()

$file = explode('.', $file);
$file = explode('-', $file[0]);
echo end($file);

demo

或者您可以使用正则表达式:

if (preg_match('~-?(\w+)\.\w+$~', $file, $match)) {
    echo $match[1];
}

demo

答案 1 :(得分:1)

我这样做的方式通常是:

<?php

$num = strrev(
    explode(
        '-',
        strrev($filename),
        2
    )[0]
);

strrev()explode()的文档。

答案 2 :(得分:0)

通过正则表达式。

if (preg_match('~(?<=-)[^-.]+(?=\.[a-z]+$)~', $file, $match)) {
    echo $match[0];
}

OR

if (preg_match('~-([^-.]+)\.[a-z]+$~', $file, $match)) {
    echo $match[0];
}

DEMO