我需要你帮助PHP中的RegEx
我有类似的东西: vacation.jpg,我正在寻找一个只提取假期的RegEx。的文件名。 有人能帮助我吗?
答案 0 :(得分:6)
不要使用正则表达式 - 使用basename
:
$fileName = basename($fullname, ".jpg");
答案 1 :(得分:4)
您可以使用pathinfo代替正则表达式。
$file = 'vacation.jpg';
$path_parts = pathinfo($file);
$filename = $path_parts['filename'];
echo $filename;
答案 2 :(得分:2)
如果你真的需要正则表达式,那么这个就可以了:
$success = preg_match('~([\w\d-_]+)\.[\w\d]{1,4}~i', $original_string, $matches);
在匹配内容中,您将拥有文件名的第一部分。
答案 3 :(得分:1)
已经提供了更好的答案,但这是另一种选择!
$fileName = "myfile.jpg";
$name = str_replace(substr($fileName, strpos($fileName,".")), "", $fileName);
答案 4 :(得分:0)
你不需要正则表达式。
方法1:
$str = 'vacation.jpg';
$parts = explode('.', basename($str));
if (count($parts) > 1) array_pop($parts);
$filename = implode('.', $parts);
方法2(更好,使用pathinfo()
):
$str = 'vacation.jpg';
$filename = pathinfo($str, PATHINFO_FILENAME);