скажите кто из нас дебил, я или PHP PHP: $test = '123test'; $test2 = intval($test); if($test2 == $test) echo "$test2 == $test"; exit; 123 == 123test PHP: $test = 'fdsgdfgdf'; $test2 = intval($test); if($test2 == $test) echo "$test2 == $test"; exit; 0 == fdsgdfgdf КАК?! Как 123 может равняться 123test и 0 равняться fdsgdfgdf === не предлагать, типы не совпадут, true никогда не будет можно test2 в strval перевести, но мне непонятно КАК ОНО == ДЕЛАЕТ?!
Ponchik читать тут: https://forum.antichat.ru/showpost.php?p=2285216&postcount=16250 и тут: https://forum.antichat.ru/showpost.php?p=2285338&postcount=16256
Странно, что все удивляются результату сравнения, хотя удивляться надо было на второй строке кода. Просто при сравнении тот же intval вызывается неявно.
Помогите обработать ответ от яндех мыла. Дело в том, что у темы лебедева исходный год выглядит как хз что. PHP: $sock = fsockopen("mail.yandex.ru", 80, $errno, $errstr); if(!$sock) { echo "Couldn't open socket!"; return; } $headers = "GET /neo/search?addr=from&request={$search} HTTP/1.1\r\n"; $headers .= "User-Agent: Opera\r\n"; $headers .= "Cookie: {$user_cookie}\r\n"; // тут sessid $headers .= "Host: mail.yandex.ru\r\n\r\n"; fwrite($sock, $headers); $line = ""; for ($i = 0; $i < 61; $i++){ $line .= fgets($sock, 100500); } file_put_contents("data.txt", $line); echo $user_cookie; fclose($sock); Собственно работает только так, и то с каким то мусором. Если делать цикл вайл до конца файла, то зависает. Если до 62, то тоже зависает. Как бы считать? Весь исходный код в 61строке... там в некоторых строчках по 20к знаков
Может есть у кого скрипт случайной замены русских букв их английскими аналогами? Для рендомизации писем.
Прям случайной? Обычную замену написать 5 минут делов. Со случайной еще пару строчек дописать. Сделал бы, если не с телефона сидел
llexus, да случайной. пример: Привет после обработки случайно заменит буквы р,е на английские p,e или не зщаменит, или только р или только е. И вот так весь текст
Могу словами написать. Создаем функцию, принимающую строку. Там создаем ассоциативный массив у которого ключи будут англ буквами, а значения русскими. Потом в цикле каждую букву проверяем на присутствие в массиве и заменяем на соответст ключ. Если рнд(0,10) больше скольки нам надо(ну это будет шанс замены)
Помогите скрипт парсер whois выдает ошибки( Подскажите почему в email.txt записываются пустые строчки((( а в браузере выходит ошибка: Code: Warning: set_time_limit() has been disabled for security reasons in /www/whois.php on line 9 Notice: Undefined offset: 1 in /www/whois.php on line 26 email для домена [URL=http://linic.ru]http://linic.ru[/URL] успешно спарсен. Code: <?php ignore_user_abort(true); set_time_limit (0); ini_set('max_execution_time',0); $file = file("domain.txt"); $end = count($file); for ($i = 0; $i < $end; $i++) { $hc = curl_init(); curl_setopt($hc, CURLOPT_RETURNTRANSFER, true); curl_setopt($hc, CURLOPT_USERAGENT, "Opera/9.61 (Windows NT 5.1; U; Edition Campaign 05; en) Presto/2.1.1"); curl_setopt($hc, CURLOPT_COOKIEFILE, "cookie.tmp"); curl_setopt($hc, CURLOPT_COOKIEJAR, "cookie.tmp"); curl_setopt($hc, CURLOPT_URL, "http://ip-whois.net/whois.php?whois=".$file[$i]); $answer = curl_exec($hc); preg_match("#e-mail: (.*?)<br>#", $answer, $out); $fp = fopen('email.txt','a+'); fputs($fp, $out[1]."\r\n"); fclose($fp); curl_close($hc); echo "email для домена ".$file[$i]." успешно спарсен.<br>"; } ?>
FuZioN62, регулярку юзаешь не рпавильную... у тебя Code: preg_match("#e-mail: (.*?)<br>#", $answer, $out); а сайт выдаёт в таком виде Code: e-mail: [email protected]<br>
Можно было без кУРЛа обойтись, вот мой вариант: PHP: <?php @ini_set('max_execution_time', 0); @set_time_limit(0); $domains = file('domain.txt'); $domains = array_map('trim', $domains); foreach ($domains as $dom) { $fp = file_get_contents('http://ip-whois.net/whois.php?whois='.$dom); if($fp) { if(preg_match('#e-mail: (.*)<br>#',$fp, $matches)){ echo 'Имейл спарсили: '.$matches[1].'<br>'; } else { echo 'Не удалось отпарсить имейл для домена '.$dom.'<br>'; } } } ?> Результат:
нужно регулярное выражение для поиска подстроки в такой строке: — блаблабла: 1000. чтоб находило это число. Буду благодарен.
Добрался до компа, вот что вышло PHP: <?php function rus_eng($strIn){ $rus = Array("а", "с", "е", "р", "о"); //массив русских букв $eng = Array("a", "c", "e", "p", "o"); //массив соответствующих англ. замен $chance = 70; //шанс замены в процентах for($i = 0; $i < strlen($strIn); $i++){ if($idx = array_search($strIn{$i}, $rus)) //регистроЗависимый поиск if(rand(1,100) <= $chance) $strIn{$i} = $eng[$idx]; } return $strIn; } echo rus_eng("проверка замены"); ?> Мой вопрос остается открытым(
1 PHP: function rus_eng($strIn){ $rus = Array('а', 'с', 'е', 'р', 'о'); //массив русских букв $eng = Array('a', 'c', 'e', 'p', 'o'); //массив соответствующих англ. замен return str_replace($rus, $eng, $strIn); // и не надо самопальных циклов } 2 тебе надо нормально прочитать ответ от начала до конца? (под словом мусор ты наверное подразумеваешь заголовки HTTP? ) тогда поробуй кусок моей функции: PHP: $Str=''; // аналог твоего $line if($ByteLimit>0){ // если загрузить конкретное число байтов $Downed=0; set_time_limit(5); // не знаю откуда это взялось :) но пусть будет... while(!feof($sock) && $Downed<$ByteLimit){ $Str.=fread($sock, $ByteLimit-$Downed); $Downed=strlen($Str); } }elseif($ByteLimit<0){ while(!feof($sock)){ $Str.=fgets($sock, 512); } } //fclose($sock); upd: если $ByteLimit < 0 то загружается вся страница, иначе указанное число байт (при нуле не читает ответ)