нужно срегенить случайное время, делаю так PHP: $rand_hour = mt_rand(10,15); $rand_minute = mt_rand(10,50); $rand_sec = mt_rand(10,50); $rand_time = $rand_hour:$rand_minute:$rand_sec; ну естественно вывоит ошибкуParse error: syntax error, unexpected ':' in /home..... как быть?
доброго времени суток!!! у меня не большая делема пхп скриптом, мне нужно из хтмл страници выдернуть майлы использовал скрипт, но увы не коректно работает PHP: <? $url="http://site.ru"; $content=file_get_contents($url); $count=preg_match_all('#<a\s+href\s*=["\']?mailto\s*:\s*["\']?([^\s>]+?)["\']?\s+class\s*=\s*["\']?obfuscated\s*-\s*email\s*["\']?[.]*?>(.*?)</a>#i', $content, $matches); for($i=0; $i<$count; $i++) { $link = htmlspecialchars($matches[0][$i]); $href = htmlspecialchars($matches[1][$i]); $ancor = htmlspecialchars($matches[2][$i]); echo "{$link}<br />"; echo "{$href}<br />"; echo "{$ancor}<br /><br />"; } ?> я нашел здесь и другие скрипты по выдергиванию мыла, но они не работают, т.к. на сайте видимо стоит защита от слива мыла, поэтому попробывал выдергивать мыло представляя её как ссылка вид самого мыла из исходников сайта <a href="mailto:чей-то майл@mail.ru" class="obfuscated-email">чей-то майл@mail.ru</a> p/s в пхп я только учусь, жду помощи старшего брата
Попробуй так. PHP: preg_match_all('@<a href="mailto:(.*)"@sU', $html, $output); foreach($output[1] as $key=>$value) { $parsedMail = trim($value); }
привет бразы, помогите алгоритм реализовать есть самописный движок блога, у блога есть категории справа на сайте выводится список категорий, нужно сделать чтобы размер шрифта каждой категории был разным - зависит от того, сколько записей в этой категории нужно чтобы все как то в процентном соотношении что ли было минимальный размер 12pt, максимальный 20pt что то никак не могу придумать как реализовать задумку
Можно например так: Считаем кол-во записей в каждой категории. Находим категорию с наибольшим кол-вом записей и категории с наименьшим кол-вом записей. Пишем Подпрограмму: { Вычисляем среднее арифметическое для всех записей. Задаём переменные: int min=12, max=20; int s = (int)(min+max)/2; Вычисляем шрифт для каждой категории: Для наибольшей категории - max, для наименьшей - min, для средней - s. Перемещаем категории меньше среднего в is, больше среднего в as. Проходимся по этим категориям, s - будет max, min-max - зависит от категории, находим среднюю и повторяем тоже самое до тех пор, пока не кончаться категории или размер шрифтов. Сохраняем результаты в файл. } Далее с помощью php скрипта считаете - сколько прошло времени, относительно последнего редактирования файла - если он больше нужного, повторяем процедуру.
здраствуйте,я на вичок в пхп и у меня возникла проблема суть проблемы в том, что хочу взять майлы с одного сайта, а они там видимо защищены. Слить-то слил и получились в итоге кракозяблы такого типа: qrfvtayvsr^znvy%eh, видимо кадировка почему-то поменялась, как решить этот вопрос??? вот исходник и сайт PHP: <? for($i=1;$i<3000;$i++){ $filename = 'http://catalog.sibnet.ru/cat/'.$i; echo $i.". "; $str = file_get_contents($filename); preg_match_all('|href="mailto:([^"]*)"|is',$str,$out); if(empty($out[1][0])) echo ""; else{ echo " <br>get</br> ".$out[1][0]; fwrite($handler,$out[1][0]."\n"); } echo "\n"; } fclose($handler); ?>
Посмотреть js используемый для преобразования емаилов в читаемый вид и повторить код декодировния на php. PHP: <?php $email = 'lnfxva22^znvy%eh'; echo decode($email); function decode($str) { $str = preg_replace_callback ( '/([a-zA-Z])/', create_function ( '$m', '$chr = ord($m[0]); return chr($chr > 108 ? $chr - 13 : $chr + 13);' ), $str ); $str = str_replace(array('^', '%'), array('@', '.'), $str); return $str; } ?>
а по cURL здесь задавать вопросы можно? Почему в ответ на авторизацию сервер выдаёт ошибку 302? PHP: $ch=curl_init(); curl_setopt($ch, CURLOPT_URL, "http://id.rambler.ru/script/auth.cgi?mode=login"); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "from=&back=http%3A%2F%2Fwww.rambler.ru%2F&url=7&login=$login&domain=rambler.ru&passw=$password&user.password=%C2%EE%E9%F2%E8"); curl_setopt($ch, CURLOPT_COOKIEJAR,$_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt'); $result = curl_exec($ch); curl_setopt($ch, CURLOPT_URL, "http://rambler.ru"); curl_setopt($ch, CURLOPT_POST, 0); curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt'); $result = curl_exec($ch); curl_close($ch); echo $result;
Авторизовался нормально, но иероглифы выдает в русском контенте, в англ. всё нормально. Уже перепробовал всё что знал. Установил вручную кодировку: PHP: $headers = array ( "Content-Type: text/html; charset=utf-8", "X-UA-Compatible: IE=8", "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7"); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); и использовал стандартные средства: PHP: curl_setopt($ch, CURLOPT_ENCODING, "gzip,deflate"); ну и конечно же функцию iconv не забыл... Ничего не помогло. Вот чувствую что ответ прост, просто не хватает мозгов и опыта