0

たとえば、私はこのURLを持っています:

http://adstorage.jamba.net/storage/view/325/0/fa/Fairytale.mp3

PHPコードを使用してを返すにはどうすればよいですかFairytale。その前後のすべてのものを削除Fairytaleする.mp3必要があります。

識別子は/であり、.mp3のみfile nameが返されます。

4

5 に答える 5

1

このようなものはどうですか:

$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];
于 2012-11-30T09:11:19.017 に答える
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

?>
于 2012-11-30T09:13:34.433 に答える
1

pathinfo()関数を使用する

<?php
$url = "http://example.com/file_name.mp3";
$f = pathinfo($url);
echo $f[filename]; // File name
?>
于 2014-03-02T06:15:56.157 に答える
0

あなたはそれを試すことができます:

$input = 'http://adstorage.jamba.net/storage/view/325/0/fa/Fairytale.mp3';
echo current(explode('.', basename($input)));
于 2012-11-30T09:12:44.547 に答える
0

1行で試してください。$inputはyouturl(php 5.4)です:

$name = explode('.',array_slice(explode('/',$input), -1, 1))[0];
于 2012-11-30T09:20:08.373 に答える