I need your help with a RegEx in PHP
I have something like: vacation.jpg and I am looking for a RegEx which extracts me only the 'vacation' of the filename. Can someone help me?
I need your help with a RegEx in PHP
I have something like: vacation.jpg and I am looking for a RegEx which extracts me only the 'vacation' of the filename. Can someone help me?
Don't use a regex for this - use basename
:
$fileName = basename($fullname, ".jpg");
You can use pathinfo instead of Regex.
$file = 'vacation.jpg';
$path_parts = pathinfo($file);
$filename = $path_parts['filename'];
echo $filename;
And if you really need regex, this one will do it:
$success = preg_match('~([\w\d-_]+)\.[\w\d]{1,4}~i', $original_string, $matches);
Inside matches you will have first part of file name.
Better answers have already been provided, but here's another alternative!
$fileName = "myfile.jpg";
$name = str_replace(substr($fileName, strpos($fileName,".")), "", $fileName);
You don't need regex for this.
Approach 1:
$str = 'vacation.jpg';
$parts = explode('.', basename($str));
if (count($parts) > 1) array_pop($parts);
$filename = implode('.', $parts);
Approach 2 (better, use pathinfo()
):
$str = 'vacation.jpg';
$filename = pathinfo($str, PATHINFO_FILENAME);