たとえば、私はこのURLを持っています:
http://adstorage.jamba.net/storage/view/325/0/fa/Fairytale.mp3
PHPコードを使用してを返すにはどうすればよいですかFairytale
。その前後のすべてのものを削除Fairytale
する.mp3
必要があります。
識別子は/
であり、.mp3
のみfile name
が返されます。
たとえば、私はこのURLを持っています:
http://adstorage.jamba.net/storage/view/325/0/fa/Fairytale.mp3
PHPコードを使用してを返すにはどうすればよいですかFairytale
。その前後のすべてのものを削除Fairytale
する.mp3
必要があります。
識別子は/
であり、.mp3
のみfile name
が返されます。
このようなものはどうですか:
$url = "http://adstorage.jamba.net/storage/view/325/0/fa/Fairytale.mp3";
$parts = parse_url($url);
$path_parts = explode('/', $parts['path']);
list($name, $extension) = explode(".", $path_parts[count($path_parts) - 1]);
echo $name;
これはおそらくやり過ぎであり、このことは次のような単純な正規表現で行うことができます。
preg_match("#.*/(\w+)\.\w+#", $url, $matches);
echo $matches[1];
pathinfo関数を使用する
<?php
$url = "http://adstorage.jamba.net/storage/view/325/0/fa/Fairytale.mp3";
$f = pathinfo($url);
echo $f[filename]; // File name Fairytale
print_r(pathinfo($url)); // File Array
?>
pathinfo()
関数を使用する
<?php
$url = "http://example.com/file_name.mp3";
$f = pathinfo($url);
echo $f[filename]; // File name
?>
あなたはそれを試すことができます:
$input = 'http://adstorage.jamba.net/storage/view/325/0/fa/Fairytale.mp3';
echo current(explode('.', basename($input)));
1行で試してください。$inputはyouturl(php 5.4)です:
$name = explode('.',array_slice(explode('/',$input), -1, 1))[0];