Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как правильно подобрать строку для граббера?
 
 автор: coloboc66   (21.05.2012 в 11:49)   письмо автору
 
 

$enc='win1251_to_utf';
$url='http://www.travel.ru/weather/belarus/';
$begin='<table border="0" cellspacing="0" cellpadding="0" class="generic" width="100%">';
$end='</div><div class="content"></div>';/* из-за этой строки граббер не работает! */
echo $text=grabber ($par_url,$par_begin,$par_end,$par_enc)
function grabber ($par_url,$par_begin,$par_end,$enc){ 
$result = file_get_contents($par_url);
if($par_enc=='win1251_to_utf')$result=iconv("windows-1251","UTF-8",$result);
$pos = strpos($result, $par_begin);
$result = substr($result, $pos);
$pos = strpos($result, $par_end);
$result = substr($result, 0, $pos); 
return $result;
}

Если я вместо $end='</div><div class="content"></div>'; поставлю $end='</table>';, то граббер таблицу выводит, но нарушается структура моей страницы.
Помогите правильно подобрать строку, пожалуйста!
Спасибо.

  Ответить  
 
 автор: confirm   (21.05.2012 в 14:52)   письмо автору
 
   для: coloboc66   (21.05.2012 в 11:49)
 

Вам надо погоду вырезать?

  Ответить  
 
 автор: coloboc66   (21.05.2012 в 15:26)   письмо автору
 
   для: confirm   (21.05.2012 в 14:52)
 

Да!

  Ответить  
 
 автор: confirm   (21.05.2012 в 15:37)   письмо автору
 
   для: coloboc66   (21.05.2012 в 15:26)
 

Тогда концовкой нужно выбирать <div class="botadv">

  Ответить  
 
 автор: coloboc66   (21.05.2012 в 15:43)   письмо автору
 
   для: confirm   (21.05.2012 в 15:37)
 

В таком случае он кроме таблицы тянет всё, что находится после таблицы.

  Ответить  
 
 автор: confirm   (21.05.2012 в 15:50)   письмо автору
 
   для: coloboc66   (21.05.2012 в 15:43)
 

Вся страница эта сплошные скрипты, но вроде бы как div с таким классом более нет на странице, а значит начало этой строки и есть последняя позиция вам нужная. Если вы верно указали, то после нее просто не может быть ничего.

  Ответить  
 
 автор: coloboc66   (21.05.2012 в 16:22)   письмо автору
 
   для: confirm   (21.05.2012 в 15:50)
 

После неё то нет ничего, но перед ней всего полно (кроме таблицы погоды). Мне нужна именно таблица с погодой.

  Ответить  
 
 автор: confirm   (21.05.2012 в 16:09)   письмо автору
 
   для: coloboc66   (21.05.2012 в 15:43)
 

В отладчике смотрел, может и проглядел. А вот так таблица (подробности с чего и до...)
<?
$result 
substr($resultstrpos($result'<div style="width:600px; height:1px; overflow:hidden"></div>'));
$result substr($resultstrpos($result'<table'));
$result substr($result0strpos($result'<div class="content">'));

  Ответить  
 
 автор: coloboc66   (21.05.2012 в 16:33)   письмо автору
 
   для: confirm   (21.05.2012 в 16:09)
 

Так не работает у меня:(

  Ответить  
 
 автор: confirm   (21.05.2012 в 16:37)   письмо автору
 
   для: coloboc66   (21.05.2012 в 16:33)
 

Ну тогда не знаю, что у вас, а я получаю таблицу с погодой. В конце еще закрывающий тег div, его удалить.

  Ответить  
 
 автор: bishake   (21.05.2012 в 15:32)   письмо автору
 
   для: confirm   (21.05.2012 в 14:52)
 

.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования