正規表現でファイルの拡張子を取り除く方法。
PHPの正規表現によるパターンマッチで、ファイル名から拡張子を取り除いた文字列を取り出す方法です。
1 2 3 4 5 6 7 8 |
<?php echo(get_filename("test.txt")); //test echo(get_filename("test.test.txt")); //test.test function get_filename($file) { return preg_replace("/(.+)(\.[^.]+$)/", "$1", $file); } ?> |
パターンマッチ内の1つ目のパーレン「(.+)」で、任意の1文字以上の文字列を表します。
2つ目のパーレン「(\.[^.]+$)」で、文末にある、ドット1文字から始まり、ドット以外の1文字以上の文字列を表しています。
「$1」の部分を「$2」とすることで、2つ目のパーレン(上記の場合「.txt」となります)を取り出すことができます。