Использование PHP для поиска текстового файла - PullRequest
1 голос
/ 31 октября 2010

Я пытаюсь создать код для загрузки mp3-файлов, встроенных в страницу.Это начинается как форма отправки.Вы вводите URL и отправляете его, и он записывает исходный HTML-код этой страницы в текстовый файл.Я также установил скрипт для поиска источника, чтобы увидеть, есть ли встроенный аудиофайл.Я полагаю, я должен включить, что это не в формате имени файла .mp3.Формат:

embed type="application/x-shockwave-flash" src="http://diaryofthedead.tumblr.com/swf/audio_player_black.swf?audio_file=http://www.tumblr.com/audio_file/1435664895/tumblr_lb2ybulZkt1qb5hrc&color=FFFFFF" height="27" width="207" quality="best"

Итак, вот в чем дело, есть только определенная строка, которую нужно добавить в конец файла, чтобы она перенаправлялась в файл mp3.Я знаю строку.Что я хочу сделать, это извлечь, например, "http://www.tumblr.com/audio_file/1435664895/tumblr_lb3ybulZkt1q5hrc" из середины этого. Я знаю, как читать из файлов, но я не знаю, как извлечь из него определенные части, не зная уже точное имя файла.как я могу сделать так, чтобы он искал источник для «audio_file» и, если он находит строку, извлекает аудиофайл?

Ответы [ 2 ]

0 голосов
/ 31 октября 2010

Если ваша программа является просто анализатором для извлечения файлов MP3, встроенных в веб-страницу, вам даже не нужно сохранять содержимое веб-страницы в файл, вы можете работать с источником страницы только в памяти вашего сервера.

Если вы хотите определить пути к MP3 внутри вспышек, при условии, что вы знаете, как оно соответствует регулярному выражению, все готово.

Если вы не очень много знаете о регулярных выражениях, посмотрите на них.

Если вам не нужно столько энергии, сколько может дать регулярное выражение, вы всегда можете найти строки по позиции, например:

$pos = strpos($haystack, $needle);

Осторожно: strpos () найдет первое (strrpos найдет последнее) вхождение строки. Поэтому вам нужно сделать это как можно более явным, иначе вы можете получить что-то нежелательное.

Взгляните на http://www.regular -expressions.info / quickstart.html или что-то подобное.

Я не могу публиковать больше ссылок, потому что у меня еще недостаточно репутации

0 голосов
/ 31 октября 2010

Вы можете попробовать использовать preg_match (http://php.net/manual/en/function.preg-match.php), чтобы получить содержимое между "audio_file =" и "&".

Или вы можете также использовать строку между функцией, чтобы получить содержимое между этими двумя строками: http://www.php.net/manual/en/function.substr.php#89493

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...