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

Форум Регулярные Выражения

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

 

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

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

тема: Пытаюсь выудить со страницы адреса картинок, не выходит
 
 автор: Trump001   (13.11.2008 в 17:57)   письмо автору
 
 

Голову уже сломал, изучаю регулярку, пытаюсь получить адреса картинок со страницы
http://www.sotino.ru/objinf.asp?ot=68&tid=57&rbr=58
Открываю стандартно страницу в массив
$text=file_get_contents(trim($siteurl));

Но после этого, если просмотреть
echo $text;
там получается страшная муть.
Т.е. адрес картинки получается в таком вот виде:

<img src=
17
/ftproot/photos/models/
a
8311_5.jpg
f
 border=0 alt="
2b


Не понимаю изза чего такое может быть, открываю страницу обычно, браузером смотрю код, там всё красиво:

<td><img src=/ftproot/photos/models/8311_1.jpg border=0 alt="


Подскажите, пожалуйста, что мне делать и как вообще спарсить эти адреса
Т.е. интересует вот это : /ftproot/photos/models/8311_1.jpg

Дело в кодировке, или ещё чем-нибудь?
Спасибо.

  Ответить  
 
 автор: AcidTrash   (13.11.2008 в 21:23)   письмо автору
 
   для: Trump001   (13.11.2008 в 17:57)
 

>Голову уже сломал, изучаю регулярку, пытаюсь получить адреса картинок со страницы
>http://www.sotino.ru/objinf.asp?ot=68&tid=57&rbr=58

По вашему url:
<pre>
<?php
$text
=file_get_contents("http://www.sotino.ru/objinf.asp?ot=68&tid=57&rbr=58");
preg_match_all("#img src=(/ftproot/photos/models/[^\s]+)\s#"$text$out);
unset(
$out[0]);
print_r($out);
?>

  Ответить  
 
 автор: Trump001   (13.11.2008 в 21:34)   письмо автору
 
   для: AcidTrash   (13.11.2008 в 21:23)
 

Большое спасибо!

А не подскажете, почему кодировка сбивается в случае, который я описал, или почему так страница парсится?

  Ответить  
 
 автор: AcidTrash   (13.11.2008 в 22:02)   письмо автору
 
   для: Trump001   (13.11.2008 в 21:34)
 

>кодировка сбивается в случае
Я не знаю, что вы имеете ввиду под словом кодировка, но в моём понятии это другое.
Просто, через чего вы смотрите, страницу полученную с помощью функции file_get_contents() и через чего просто исходный код страницы?
Думаю, вопрос-ответ должен быть понятен.

  Ответить  
 
 автор: Trump001   (13.11.2008 в 22:45)   письмо автору
 
   для: AcidTrash   (13.11.2008 в 22:02)
 

Я вообще ничего не понимаю, дома отображает одно -как вы говорите ,всё ок и красиво, на рабочем компьтере то что писал выше - хаос :)
Спасибо вам за помощь!

  Ответить  
 
 автор: Trump001   (14.11.2008 в 09:57)   письмо автору
33 Кб
 
   для: Trump001   (13.11.2008 в 22:45)
 

Пришёл на работу, снова скрипт не работает :)
Снова открываю страницу,
$TextPodrobnee=file_get_contents('http://www.sotino.ru/objinf.asp?ot=68&tid=59&rbr=58');

Далее делаю вывод страницы на просмотр

echo $TextPodrobnee;
, далее правой кнопкой мыши - просмотр html (IE6, как и дома)

И снова вижу бред :(
html код картинок представлен в таком вот виде:

<td><img src=
17
/ftproot/photos/models/
a
8625_3.jpg
f
 border=0 alt="
1e
Cамолет Office Flyer ИК RC8625
9
"></td>


Почему такое может быть???
Этот же php-код дома давал хороший html и скрипт прекрасно работал
пришёл на работу, тут снова хаос, версии php,ie,OC и т.д. одинаковые.
Может быть какие-нибудь настройки вредят?
Есть у кого-нибудь соображения по этому поводу?

  Ответить  
 
 автор: Trump001   (14.11.2008 в 10:00)   письмо автору
 
   для: Trump001   (14.11.2008 в 09:57)
 

+ запускаю скрипт на других браузерах, эффект тот же самый - html код результата кривой
уже и не знаю где искать причину

  Ответить  
 
 автор: AcidTrash   (14.11.2008 в 19:39)   письмо автору
 
   для: Trump001   (14.11.2008 в 10:00)
 

Попробуйте добавить в мою регулярку модификатор s.
preg_match_all("#img src=(/ftproot/photos/models/[^\s]+)\s#s", $text, $out); 

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

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