И опять про парсинг !

  • Автор темы Smoke † [RA™]
  • Дата начала

Smoke † [RA™]

Guest
И опять про парсинг !

Довольно давно занимаюсь разработкой на PHP, но вот столкнулся с такой проблемой:

Допустим есть переменная $temp, в которой храниться HTML код страницы. Задача найти в данном HTML коде прямые ссылки на файлы, т.е. http://www.*****.com/winrar.exe или http://******.ru/script/temp.rar.

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

Я уже хр** знает сколько времени лажу по вашему форуму и поиску, найти похожую проблему мне не удалось, по какким ключевым словам я только не искал (и парсинг и ХТМЛ и файлы и все что угодно!), либо все вокруг да окло или посылаете подальше как и меня. Если знаете в каком топике была нужная информация то скажите плз, я возражать не буду. Но писать, что я меньше времени потрачу на поиск чем на написание новой темы это абсурд, на поиски потратил ..... времени !!!

Ну подскажите же блин !
 

Smoke † [RA™]

Guest
Ссылка на сайт это конечно хорошо, но .то всеравно что сказать иди в поиск...

П. С. Там я тоже искал, не нашел !!!
Как вытягивать линки я нашел, но мне не нужну линки !!!
 

Нечто

Психолог РНРClub
Если бы ты действительно
давно занимаюсь разработкой на PHP
то не задавал бы таких вопросов, а сразу пошел читать про реги на detail.phpclub.ru
А вообще странными ты разработками занимался, если реги только сейчас понадобились.
 

sage

Новичок
попробуй следующее:
PHP:
preg_match_all('#(http://.+\.(?:exe|rar|zip))#si', $temp, $matches);
 

Smoke † [RA™]

Guest
Ой незнаю, либо у меня руки кривые, либо не работает.
Вот кусок кода который я использовал:

//к примеру возьмем пагу:
$page="http://www.downleech.com/dls/77.htm";

$handle = fopen($page, "rb");
if ($handle)
{
$temp='';
while (!feof($handle))
{
$temp.=fread($handle,8192);
}
}
fclose ($handle);

preg_match_all('#(http://.+\.(?:exe|rar|zip))#si', $temp, $matches);

for ($i=0;$i<count($matches);$i++)
{
echo $matches[0][$i].'<br>';
}
 

sage

Новичок
PHP:
$page = 'http://www.downleech.com/dls/77.htm';
$contents = file_get_contents($page);
preg_match_all('#(http://.+?\.(?:exe|rar|zip))#i', $contents, $matches);
echo "<pre>\n";
print_r($matches[1]);
echo "</pre>";
 

Smoke † [RA™]

Guest
Потому что ту тему закрыли даже не пытаясь разобраться в сути вопроса :(
 

untied

Сдвинутый новичок
Автор, ты извини, но выражение "не силен я в них" у меня получается воспринять только так: "мне влом читать про регулярные выражения". Потрать пару часиков с книжкой, разбирая раздел "Регулярные выражения". Там нет ничего запредельно непонятного, в чем нельзя было бы разобраться.
И задача твоя решится сама собой (отвечаю).
 
Сверху