Помощник
|
|
|
Здравствуйте, гость ( Вход | Регистрация )
|
|
|
Сообщение
#1
|
|||
![]() Бывалый ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 364 Регистрация: 16.3.2011 Пользователь №: 30514 Спасибо сказали: 23 раз(а) Репутация: 7
|
|
||
|
|
|||
8.2.2012, 20:37;
Ответить: seomasters
Сообщение
#2
|
|
|
Участник ![]() ![]() ![]() Группа: Пользователь Сообщений: 135 Регистрация: 22.9.2011 Пользователь №: 37908 Спасибо сказали: 22 раз(а) Репутация: 11
|
<br/> не вариант?
|
|
|
|
|
Сообщение
#3
|
|
![]() Бывалый ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 364 Регистрация: 16.3.2011 Пользователь №: 30514 Спасибо сказали: 23 раз(а) Репутация: 7
|
seomasters, Нет, мне нужно их в массив добавить.
я делал это через Код preg_match_all("/(.*)\n/",$_POST['text'],$rezult); но после установки формы перестало работатьЗабыл добавить что пишу на PHP Как писал ранее, я запутался. В исходном коде получил вроде тоже самое что и было, то есть Код http://mail.ru/ \n http://pr-cy.ru/ \n Правильно ? А то я понять не могу почему не работает
Сообщение отредактировал denis_h2 - 8.2.2012, 21:57 -------------------- |
|
|
|
8.2.2012, 22:16;
Ответить: WebAction
Сообщение
#4
|
|
![]() Студент ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Старшие модераторы Сообщений: 2557 Регистрация: 18.11.2009 Пользователь №: 15216 Спасибо сказали: 1008 раз(а) Репутация: 156
|
Если выходит как
Код http://mail.ru/ http://pr-cy.ru/ тогдаКод $array = explode(" ", $str); Если же Код http://mail.ru/ \n http://pr-cy.ru/ \n тогдаКод $array = explode(" \n", $str); А дальше уже работать как с массивом данных -------------------- Спасибо сказали:
|
|
|
|
|
Сообщение
#5
|
|
![]() Бывалый ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 364 Регистрация: 16.3.2011 Пользователь №: 30514 Спасибо сказали: 23 раз(а) Репутация: 7
|
Спасибо, сработало ! А эта функция лучше preg_match_all ?
-------------------- |
|
|
|
8.2.2012, 23:02;
Ответить: x64
Сообщение
#6
|
|
|
Завсегдатай ![]() ![]() ![]() ![]() ![]() Группа: Активный пользователь Сообщений: 657 Регистрация: 30.6.2011 Из: московская область Пользователь №: 34865 Спасибо сказали: 167 раз(а) Репутация: 39
|
это функция гораздо лучше, на 2-3 порядка быстрее работает. вообще, регулярные выражения лучше использовать там, где это действительно необходимо.
-------------------- Спасибо сказали:
|
|
|
|
9.2.2012, 0:44;
Ответить: Max_Q
Сообщение
#7
|
|
![]() Частый гость ![]() ![]() Группа: Пользователь Сообщений: 51 Регистрация: 13.11.2011 Пользователь №: 39880 Спасибо сказали: 24 раз(а) Репутация: 4
|
В Windows перевод на новую строку: \r\n
В Unix: \n Часто из-за этого ошибки. Помогает использование константы: PHP_EOL. Извиняйте за лирическое отступление. -------------------- Спасибо сказали:
|
|
|
|
|
Сообщение
#8
|
|
![]() Бывалый ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 364 Регистрация: 16.3.2011 Пользователь №: 30514 Спасибо сказали: 23 раз(а) Репутация: 7
|
А вот ещё проблемка, скорее всего из за curl. Почему то парсится только последний урл, вроде все нормально. Что не так ?
Развернуть/Свернуть
Код $curl2 = curl_init();
curl_setopt($curl2,CURLOPT_URL,'http://bar-navig.yandex.ru/u?ver=2&url='.$wwwurl.'&show=1'); curl_setopt($curl2, CURLOPT_COOKIESESSION, TRUE); curl_setopt($curl2, CURLOPT_COOKIEFILE, "cookiefile"); curl_setopt($curl2,CURLOPT_RETURNTRANSFER,true); curl_setopt($curl2,CURLOPT_CONNECTTIMEOUT,30); curl_setopt($curl2,CURLOPT_ENCODING,'gzip,deflate'); curl_setopt($curl2,CURLOPT_USERAGENT,'Opera/10.80 (Windows NT 5.1; U; ru) Presto/2.7.62 Version/11.01'); if( $html = curl_exec($curl2) ){ echo $html; preg_match("/title=\"Тема:(.*)\" url/", $html, $wwwyaca); echo "tematika: ".$wwwyaca[1]."<br>"; } else { echo "error, pars wwwurl";} curl_close($curl2); $curl = curl_init(); curl_setopt($curl,CURLOPT_URL,'http://bar-navig.yandex.ru/u?ver=2&url='.$wurl.'&show=1'); curl_setopt($curl, CURLOPT_COOKIESESSION, TRUE); curl_setopt($curl, CURLOPT_COOKIEFILE, "cookiefile"); curl_setopt($curl,CURLOPT_RETURNTRANSFER,true); curl_setopt($curl,CURLOPT_CONNECTTIMEOUT,30); curl_setopt($curl,CURLOPT_ENCODING,'gzip,deflate'); curl_setopt($curl,CURLOPT_USERAGENT,'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.7.62 Version/11.01'); if( $html = curl_exec($curl) ){ echo $html; preg_match("/title=\"Тема:(.*)\" url/", $html, $wyaca); echo "tematika: ".$wyaca[1]."<br>"; } else { echo " error, pars wurl ";} curl_close($curl); До curl всё работает нормально -------------------- |
|
|
|
9.2.2012, 0:54;
Ответить: Max_Q
Сообщение
#9
|
|
![]() Частый гость ![]() ![]() Группа: Пользователь Сообщений: 51 Регистрация: 13.11.2011 Пользователь №: 39880 Спасибо сказали: 24 раз(а) Репутация: 4
|
Сделайте цикл, работу с курлом через функцию. В функцию передавайте ссылку. -------------------- Спасибо сказали:
|
|
|
|
|
Сообщение
#10
|
|
![]() Бывалый ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 364 Регистрация: 16.3.2011 Пользователь №: 30514 Спасибо сказали: 23 раз(а) Репутация: 7
|
Не помогло, может не из за этого ?
Вот полный код: Развернуть/Свернуть
Код <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title>yaca.yandex.ru</title> </head> <body> <?php include("excelwriter.inc.php"); function fooe ($url) { $domain = strstr($url, 'http://www.'); if (!$domain === false ) { $substr = substr($url, 11); //echo "????? ".$url[$i]." ???????? www ?? ?????? - ".$substr."<br>"; $wwwurl = $url; $wurl = "http://".$substr; } else { //echo "????? ".$url[$i]." ?? ???????? www ?? ?????? - www.".$url[$i]."<br>"; $substr = substr($url, 7); $wwwurl = "http://www.".$substr; $wurl = $url; } //echo "????? ? www - ".$wwwurl."; ????? ??? www - ".$wurl,"<br>"; echo "www: ".$wwwurl."<br> "; echo "w: ".$wurl."<br> "; $array1 = array ($wurl,$wwwurl); for ($i=0;$i<=1;$i++) { $curl = curl_init(); curl_setopt($curl,CURLOPT_URL,'http://bar-navig.yandex.ru/u?ver=2&url='.$array1[$i].'&show=1'); curl_setopt($curl, CURLOPT_COOKIESESSION, TRUE); curl_setopt($curl, CURLOPT_COOKIEFILE, "cookiefile"); curl_setopt($curl,CURLOPT_RETURNTRANSFER,true); curl_setopt($curl,CURLOPT_CONNECTTIMEOUT,30); curl_setopt($curl,CURLOPT_ENCODING,'gzip,deflate'); curl_setopt($curl,CURLOPT_USERAGENT,'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.7.62 Version/11.01'); if( $html = curl_exec($curl) ){ echo $html; preg_match("/title=\"Тема:(.*)\" url/", $html, $yaca[]); //preg_match("/domain=\"(.*)\"/", $html, $url); //$url = $url[1]; //$cy = $cy[1]; //echo "tematika: ".$yaca[0][1],$yaca[1][1]."<br>"; } curl_close($curl); } $nober = strcmp($yaca[0][1],$yaca[1][1]); //echo $nober; if ($nober==0) { $yaca = $yaca[0][1]; } elseif ($nober == -28) { $yaca = $yaca[0][1].$yaca[1][1]; echo " <br>"; } //echo "yaca: ".$yaca; //echo "<br><br><br><br><br><br>"; return $yaca; } // Start if ($_SERVER['REQUEST_METHOD'] == 'POST') { $excel=new ExcelWriter("myX1ls.xls"); if($excel==false) echo $excel->error; $myArr=array ("url","yace"); $excel->writeLine($myArr); //preg_match_all("/(.*)\n/",$_POST['text'],$rezult); $array = explode("\n", $_POST['text']); $count = count($array)-1; for ($i=0; $i<=$count; $i++) { $url=$array[$i]; //echo $url."- url<br>"; fooe($array[$i]); //echo $yaca; $myArr=array ($url,$yaca); $excel->writeLine($myArr); } $excel->close(); echo 'All is well, a link to download - <a href="/myX1ls.xls">myX1ls.xls</a>'; } else {echo "Liks:";} ?> <form name="form1" method="POST" action="<?=$_SERVER['PHP_SELF']?>"> <p> <div align="center"> <textarea name="text" id="text" cols="45" rows="5">http://mail.ru/</textarea> </div> </p> <p align="center"> <input type="submit" name="botton" id="botton" value="Submit"> </p> </form> </body> </html> Подскажите, что не так ? Почему не работает ? Точнее, почему работает не правильно ? Сообщение отредактировал denis_h2 - 9.2.2012, 20:04 -------------------- |
|
|
|
|
|
Похожие темы
| Тема | Ответов | Автор | Просмотров | Последний ответ | |
|---|---|---|---|---|---|
![]() |
Помогите опознать cms | 2 | peacemaker | 91 | Сегодня, 17:38 автор: HotRes |
![]() |
Оцените, пожалуйста, молодой блог | 6 | sainty | 77 | Сегодня, 17:03 автор: Room |
![]() |
Подскажите пожалуйста как мне поступить в моем случае? | 14 | maslovvanya | 421 | Сегодня, 16:51 автор: Room |
![]() |
Помогите найти причину! Разница в доходе |
7 | nestor_knf | 188 | Сегодня, 14:31 автор: alcoboy |
![]() |
Помогите определиться с тематикой сайта | 6 | Kinel | 178 | 21.5.2012, 23:42 автор: dovzhenko |
|
Текстовая версия | Сейчас: 23.5.2012, 20:17 |