2012-01-27 16 views
1

は、私はPHPPHP正規表現の抽出ファイル名

私のようなものを持っているでは正規表現でお願いします。 誰かが私を助けることができますか?

+0

可能重複[PHPはファイル拡張子なしファイル名を取得](http://stackoverflow.com/questions/2183486/php-get-file-name-without-file-extension) – Qtax

+0

あなたは必要ありません。これのための正規表現 - PHPには、正規表現なしでこれを可能にする組み込みの機能があります。 – Tadeck

答えて

6

はこのために正規表現を使用しないでください - basenameを使用します。

$fileName = basename($fullname, ".jpg"); 
4

あなたが代わりに正規表現のpathinfoを使用することができます。

$file = 'vacation.jpg'; 
$path_parts = pathinfo($file); 
$filename = $path_parts['filename']; 

echo $filename; 
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); 
1

そして、あなたが本当に正規表現が必要な場合、これはそれを行います。

$success = preg_match('~([\w\d-_]+)\.[\w\d]{1,4}~i', $original_string, $matches); 

一致するものの中には、ファイル名の最初の部分があります。

1

もっと良い回答はすでに提供されていますが、もう1つの選択肢があります。

$fileName = "myfile.jpg"; 
$name = str_replace(substr($fileName, strpos($fileName,".")), "", $fileName);