Как использовать regex для получения Artist и Title из файла MP3? - PullRequest
4 голосов
/ 04 декабря 2009

Спасибо, что нашли время, чтобы прочитать.

У меня есть папка с файлами MP3, которую я хочу использовать PHP, чтобы получить Artist и Title, поскольку теги ID3 не существуют.

Пример:

01. Wham - Last Christmas.mp3
02. Mariah Carey - All I Want For Christmas Is You.mp3
03. Band Aid - Do They Know It's Christmas Time.mp3

Я уверен, что это возможно, я просто недостаточно красноречив с регулярными выражениями.

Спасибо, Джейк.

1 Ответ

7 голосов
/ 04 декабря 2009

Ну, в большинстве случаев регулярное выражение

^\d+\. (.*) - (.*)\.mp3$

должно работать.

^       start of the string
\d+     at least one digit
\.      a literal dot
(.*)    the artist, in a capturing group. Matches arbitrary characters
        until the following literal is encountered
 -      a literal space, dash, space
(.*)    the title, in a capturing group
\.mp3   the file extension
$       end of the string

Вы можете сопоставить свои строки с регулярным выражением с помощью функции preg_match:

$matches = array();
preg_match('/^\d+\. (.*) - (.*)\.mp3$/', "01. Wham - Last Christmas.mp3", $matches);
$artist = $matches[1];
$title = $matches[2];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...