wildshaman, спасибо, но там никак... Тогда можешь подсказать, как выполнить это же, но регуляркамий? PHP: $photo = grabb($qwe, '<div id="profilePhoto" align="center"> ', '</div>');
$connclub2= connect2("http://vkontakte.ru/topic-6968868_23089261", $cookie); preg_match_all('|<span class="postAuthor"><a href="(.*?)">.*?(.*?)</a>.*?<span class="timestamp">(.*?)</span>.*?style="width: 375px; overflow: hidden;">(.*?)</div>|is', $connclub2, $out2, PREG_SET_ORDER); for ($i=0;$i<=20; $i++){ if ($out2[1][$i] == 'id30204448'){echo 'good!!!';}else{echo 'bad!!!';} } sleep(4); }
Теперь есть function grabb($str, $start, $end) { $start = strpos($str, $start) + strlen($start); $end = strpos($str, $end, $start); $result = substr($str, $start, $end - $start); flush(); return $result; }
PHP: $str= <<<HTML <div id="leftColumn"> <div id="profilePhoto" align="center"> <img src=http://cs660.vkontakte.ru/u4151221/a_1537e9a8.jpg /> </div> <div id="profileActions"> HTML; preg_match('|<div id="profilePhoto" align="center"> (.*?) </div>|i', $str, $out); echo $out[1];
Хм, нет. Не выводит. $qwe = file_get_contents('http://dima.qweker.info/test.php'); preg_match('|<div id="profilePhoto" align="center"> (.*?) </div>|i', $qwe, $asd); echo $asd[1];
Мой мозг съели пробелы и переносы PHP: $str= file_get_contents('http://dima.qweker.info/test.php'); preg_match('|<div id="profilePhoto" align="center">(.*?)</div>|is', $str, $out); echo str_replace("\n","",$out[1]);
PHP: preg_match('|<div id="profilePhoto" align="center"> (.*?) <\/div>|i', $qwe, $asd); echo $asd[1]; Так нужно было. Кстати, пользуясь случаем. Ни у кого не завалялась авторизация ВК без функции grabb?
PHP: function vk_login($login,$pass) { $login = urlencode($login); $pass = urlencode($pass); $user_cookie_file = $_SERVER['DOCUMENT_ROOT'].'/cook.txt'; $ch = curl_init('http://login.vk.com/?act=login'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.4'); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_REFERER, 'http://vkontakte.ru/'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_COOKIEFILE, $user_cookie_file); curl_setopt($ch, CURLOPT_COOKIEJAR, $user_cookie_file); curl_setopt($ch, CURLOPT_POSTFIELDS, "email=$login&pass=$pass&expire=&vk="); $res = curl_exec($ch); file_put_contents('res.txt',$res); if(!search_hash())die('Залогинится не получилось или не удается получить cookies.'); else return true; } function search_hash(){ if(!preg_match ('#([a-z0-9]){36}#', file_get_contents('cook.txt'), $matches))return false; else return true;} PS: не рассказывай тем кто тебе помогает как "нужно было" - они шарят в этом намноооого больше
Compton http://ru2.php.net/curl_setopt смотреть на параметры CURLOPT_PROXY CURLOPT_PROXYTYPE. Ну или для специалистов RFC сокс протокола - http://tools.ietf.org/html/rfc1928
preg_match_all('|<span class="postAuthor"><a href="(.*?)">.*?(.*?)</a>.*?<span class="timestamp">(.*?)</span>.*?style="width: 375px; overflow: hidden;">(.*?)</div>|is', $connclub2, $out2, PREG_SET_ORDER); for ($i=0;$i<=20; $i++){ if ($out2[1][$i] == 'id43822039'){echo 'good!!!';}else{echo 'bad!!!';} } sleep(4); } Условия 100% верны, но выводит "bad!!!"
Люди добрые посдкажите , как отправить через сокеты по протоколу tcp , hex покет , по нету порыскал так и ненашол нужной инфы