$site_b = file_get_contents("http://сайт.ру");
preg_match("/http\:\/\/vip-file.com(.*?)html/",$site_b, $vip_file);
preg_match("/http\:\/\/filestore.com.ua\/\?d=[0-9a-zA-Z]{1,50}/",$site_b, $filestore_com_ua);
preg_match("/http\:\/\/letitbit.net(.*?)html/",$site_b, $letitbit);
preg_match("/http\:\/\/depositfiles.com\/files\/[0-9a-zA-Z]{1,50}/" ,$site_b, $depositfiles);
preg_match("/http\:\/\/fileshare.in.ua\/[0-9]{1,50}/",$site_b, $fileshare_in_ua);
Собственно код парсит ссылки на файло обменники, естественно какованибуть вида файлообменника небудет, и какиенибуть переменные будут пустые, мне надо взять первую попавшеюся непустую переменную, как ето можно сделать быстро и легко, просто я могу написать огромный быдло код, но хто мож подскажет как лутше
Спустя 3 минуты, 12 секунд (14.09.2011 - 14:12) Winston написал(а):
Что-то не совсем понятно, то есть нужно взять
$vip_filem $depositfiles... и т.д. и выбрать из них не пустую ?
$vip_filem $depositfiles... и т.д. и выбрать из них не пустую ?
Спустя 1 минута, 24 секунды (14.09.2011 - 14:13) qaz333 написал(а):
да и выбрать из них одну не пустую
Спустя 2 минуты, 47 секунд (14.09.2011 - 14:16) caballero написал(а):
ну так сунь это в фукцию На каждой проверке условие если не пустая тогда return.
Код должен прежде всего работать. компилятору и как правило заказчику пофиг красивый код или нет.
Напиши чтобы работало а потом занимайся оптимизацией. Или не занимайся - золотое правило "не трогай пока работает".
А умение писать грамотно придет с опытом не надо ставить это впереди телеги.
Код должен прежде всего работать. компилятору и как правило заказчику пофиг красивый код или нет.
Напиши чтобы работало а потом занимайся оптимизацией. Или не занимайся - золотое правило "не трогай пока работает".
А умение писать грамотно придет с опытом не надо ставить это впереди телеги.
Спустя 25 минут, 40 секунд (14.09.2011 - 14:42) qaz333 написал(а):
я вот придумал сделать так
Всё, так работает, если у кого естькакие либо замечания, прошу))
preg_match("/http\:\/\/vip-file.com(.*?)html/",$site_b, $vip_file);
preg_match("/http\:\/\/filestore.com.ua\/\?d=[0-9a-zA-Z]{1,50}/",$site_b, $filestore_com_ua);
preg_match("/http\:\/\/letitbit.net(.*?)html/",$site_b, $letitbit);
preg_match("/http\:\/\/depositfiles.com\/files\/[0-9a-zA-Z]{1,50}/" ,$site_b, $depositfiles);
preg_match("/http\:\/\/fileshare.in.ua\/[0-9]{1,50}/",$site_b, $fileshare_in_ua);
$array = array("$vip_file[0]", "$filestore_com_ua[0]", "$letitbit[0]", "$depositfiles[0]", "$fileshare_in_ua[0]");
foreach($array as $val)
{
if($val !== "")
{
$ok = $val;
}
}
print_r($ok);
Всё, так работает, если у кого естькакие либо замечания, прошу))
Спустя 24 минуты, 53 секунды (14.09.2011 - 15:07) vital написал(а):
только одно.
Лучше юзать empty() вместо ==""
И кстати - двойные кавычки - зло. Юзать стоит одинарные.
Двойные жрут больше времени. Незачем юзать их просто так.
Лучше юзать empty() вместо ==""
И кстати - двойные кавычки - зло. Юзать стоит одинарные.
Двойные жрут больше времени. Незачем юзать их просто так.
Спустя 1 час, 53 минуты, 46 секунд (14.09.2011 - 17:01) inpost написал(а):
qaz333
для оформления пхп кодов используй [ php], а не [ code]
для оформления пхп кодов используй [ php], а не [ code]
Спустя 21 минута, 45 секунд (14.09.2011 - 17:22) qaz333 написал(а):
Цитата (vital @ 14.09.2011 - 12:07) |
только одно. Лучше юзать empty() вместо =="" И кстати - двойные кавычки - зло. Юзать стоит одинарные. Двойные жрут больше времени. Незачем юзать их просто так. |
хм... а вот кстати насчот ковичек, если ставить одинарные то то што между ними разпознаётся как текст, тоесть если ты напишешь $rrr то так оно и останится, а если двойние то запишется значение переменной
Спустя 1 час, 2 минуты, 15 секунд (14.09.2011 - 18:25) ZSH написал(а):
Цитата |
хм... а вот кстати насчот ковичек, если ставить одинарные то то што между ними разпознаётся как текст, тоесть если ты напишешь $rrr то так оно и останится, а если двойние то запишется значение переменной |
если здесь:
$array = array("$vip_file[0]", "$filestore_com_ua[0]", "$letitbit[0]", "$depositfiles[0]", "$fileshare_in_ua[0]");
то они совсем не нужны.
Спустя 7 минут, 10 секунд (14.09.2011 - 18:32) neadekvat написал(а):
Цитата (vital @ 14.09.2011 - 16:07) |
Двойные жрут больше времени. |
Жрут прямо. Так сказано, как будто там в стопиццот раз скрипт становится медленнее, падает сервер и извергаются вулканы.
Но придерживаться использования именно одинарных кавычек (там, где это возможно), конечно же, стоит.
Спустя 6 минут, 20 секунд (14.09.2011 - 18:38) walerus написал(а):
<?php
function parseUrl( $content = '')
{
if ( trim($content) == '')
return trim($content);
preg_match( "/http\:\/\/vip-file.com(.*?)html/", $content, $vip_file );
if ( isset($vip_file[0]) && trim( $vip_file[0] ) != '' )
return trim( $vip_file[0] );
preg_match( "/http\:\/\/filestore.com.ua\/\?d=[0-9a-zA-Z]{1,50}/", $content, $filestore_com_ua );
if ( isset($filestore_com_ua[0]) && trim( $filestore_com_ua[0] ) != '' )
return trim( $filestore_com_ua[0] );
preg_match( "/http\:\/\/letitbit.net(.*?)html/", $content, $letitbit );
if ( isset($letitbit[0]) && trim( $letitbit[0] ) != '' )
return trim( $letitbit[0] );
preg_match( "/http\:\/\/depositfiles.com\/files\/[0-9a-zA-Z]{1,50}/", $content, $depositfiles );
if ( isset($depositfiles[0]) && trim( $depositfiles[0] ) != '' )
return trim( $depositfiles[0] );
preg_match( "/http\:\/\/fileshare.in.ua\/[0-9]{1,50}/", $content, $fileshare_in_ua );
if ( isset($fileshare_in_ua[0]) && trim( $fileshare_in_ua[0] ) != '' )
return trim( $fileshare_in_ua[0] );
return 'Not respone Content!';
}
// Запрос
$ready_url = file_get_contents( "http://сайт.ру" );
$content = parseUrl( $ready_url );
print_r( $content );
?>
Спустя 8 минут, 57 секунд (14.09.2011 - 18:47) neadekvat написал(а):
walerus, символы начала и конца строки точно не забыл?
Спустя 22 минуты, 50 секунд (14.09.2011 - 19:10) walerus написал(а):
Цитата (neadekvat @ 14.09.2011 - 15:47) |
walerus, символы начала и конца строки точно не забыл? |
В смысле ? , где именно, вроде там нет начала конца )
Спустя 3 минуты, 9 секунд (14.09.2011 - 19:13) Winston написал(а):
"/^http\:\/\/vip-file.com(.*?)html$/"
Но, что-то мне кажется, что там нужно вот так
"/http\:\/\/vip-file.com(.*?)html/s"
Хотя не уверен :unsure: