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

Форум PHP

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

 

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

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

тема: Вытащить HTML-код
 
 автор: mistersmak   (24.11.2005 в 21:44)   письмо автору
 
 

Нужен скрипт, который при наличии только ссылки вытаскивал с указанного УРЛа весь ХТМЛ-код. Например: Ссылка: http://site.internet.ru/file.html

   
 
 автор: cheops   (25.11.2005 в 00:17)   письмо автору
 
   для: mistersmak   (24.11.2005 в 21:44)
 

<?php
  $text 
file_get_contents("http://site.internet.ru/file.html");
?>

   
 
 автор: vovik_sumy   (25.11.2005 в 00:49)   письмо автору
 
   для: cheops   (25.11.2005 в 00:17)
 

Ну а как можно вытащить из сайта какой-то блок информации?
Например колонку новостей? Нужно именно с конкретного..информеры не предлагайте)
Я так понимаю, что можно воспользоваться ПХП или ЯВАСКРИПТ.. в обоих использовать регулярные выражения?
Например в искомом тексте.. найти(получить номер первого символа) стабильный(неизменяющийся) блок и найти его позицию. Потом вырезать кусок текста до него. С куском после блока поступить так же. Что скажете?

   
 
 автор: mistersmak   (25.11.2005 в 01:05)   письмо автору
 
   для: vovik_sumy   (25.11.2005 в 00:49)
 

Сначала вытаскиваете все, а потом отсекаете нужное.
2cheops: Спасиба!

   
 
 автор: mistersmak   (25.11.2005 в 01:23)   письмо автору
 
   для: cheops   (25.11.2005 в 00:17)
 

Новая проблема(как всегда) =)
Пишет это для некоторых адресов:
Warning: file_get_contents(http://www.narod.ru/guestbook/?owner=34263277) [function.file-get-contents]: failed to open stream: Connection timed out in /home/users/x/x508/docs/gethtmlcode.php on line 3

   
 
 автор: 12345   (25.11.2005 в 01:35)   письмо автору
 
   для: mistersmak   (25.11.2005 в 01:23)
 

Похоже, просто истекло время работы скрипта. Увеличьте его в php.ini или в set_time_limit();

   
 
 автор: Loki   (25.11.2005 в 09:48)   письмо автору
 
   для: 12345   (25.11.2005 в 01:35)
 

Нет, это не время работы скрипта, а превышение ожидания при запросе к серверу.

   
 
 автор: 12345   (25.11.2005 в 12:54)   письмо автору
 
   для: Loki   (25.11.2005 в 09:48)
 

По словам да, но при таймауте скрипта, тоже выдаёт похожее. А чем это регулируется? И как читать фазы состояния загрузки? ("в процессе, нет связи, завершено"). Нашёл Stream Functions: stream_set_timeout() , а есть у кого-либо работа[ющ|вш]ий пример с сокетом и обработкой ошибок несоединения?

   
 
 автор: cheops   (25.11.2005 в 14:01)   письмо автору
 
   для: mistersmak   (25.11.2005 в 01:23)
 

Хм... а что грузите - большой объём?

   
 
 автор: mistersmak   (25.11.2005 в 18:13)   письмо автору
 
   для: cheops   (25.11.2005 в 14:01)
 

Да нет не очень большой. Это гостевая на народе - может это он бяки подсовывает? Суть в том, чтобы вытащить все сообщения с народа и сохранить их у себя.
2Loki: то, что превышено время ожидания - это понятно, но вот как это исправить?

   
 
 автор: mistersmak   (25.11.2005 в 18:20)   письмо автору
 
   для: cheops   (25.11.2005 в 14:01)
 

Заработало!!!

   
 
 автор: mistersmak   (25.11.2005 в 20:07)   письмо автору
 
   для: cheops   (25.11.2005 в 14:01)
 

Еще одна новая проблема =)
Ну может и не проблема, просто я не знаю как это сделать.
Иногда в файлы сохр. текст с переносом строки, этот перенос надо убрать. nl2br не подходит, поскольку это хтмл-текст, и там есть <br>-ы

   
 
 автор: cheops   (26.11.2005 в 12:40)   письмо автору
 
   для: mistersmak   (25.11.2005 в 20:07)
 

Просто убрать все переводы строк? Можно поступить следующим образом
<?php
  $text 
str_replace("\r\n","",$text);
  
$text str_replace("\n","",$text);
?>

   
 
 автор: mistersmak   (26.11.2005 в 23:18)   письмо автору
 
   для: cheops   (26.11.2005 в 12:40)
 

Он просто обнуляет все содержание =(
Вот файл:

<?
 $fil 
file('cutme.html');
 for(
$i=0;$i<count($fil);$i++)
  {
   
$content $content.$fil[$i];
  }
 
/*$content = strstr($content,'<tr bgcolor="#DDDDDD">');
 $content = substr($content,0,strpos($content,'<tr height=2><td></td></tr>'));*/
//*********************************************************

 
$content str_replace('\r\n','',$text);

 
$content str_replace('\n','',$content);

 
$content str_replace('<tr bgcolor="#DDDDDD"><td class=messages_td>','',$content);
 
 
$content str_replace('<a href="mailto:',"insert into gbnarod values('",$content);

 
$content str_replace('">',"','",$content);

 
$content str_replace('</a> <a href=" ',"','",$content);

 
$content str_replace(' </a> (<i>',"",$content);

 
$content str_replace('</i></p><hr>',"');",$content);

 
$content str_replace('</i>)</p>',"',",$content);

 
$content str_replace('<blockquote>',"'",$content);

 
$content str_replace('</blockquote><p><i>',"','",$content);

 
$content str_replace('<br>','_[br]_',$content);

 
$content nl2br($content);
 
 
$content str_replace('_[br]_','<br>',$content);

//*********************************************************
 
echo nl2br(htmlspecialchars($content));
 
$newfile fopen('newcontent.sql',"w");
 
fwrite($newfile,$content);
 
fclose($newfile);
?>

   
 
 автор: cheops   (27.11.2005 в 20:57)   письмо автору
 
   для: mistersmak   (26.11.2005 в 23:18)
 

Не очень понятно в чём затруднение и чем не нравится скрипт?

В блоке
<?php
  $content 
str_replace('\r\n','',$text); 
  
$content str_replace('\n','',$content);
?>

лучше использовать двойные кавычки, а не одинарные.

   
 
 автор: mistersmak   (28.11.2005 в 00:47)   письмо автору
 
   для: cheops   (27.11.2005 в 20:57)
 

В том-то и проблема, что вроде все правильно, но после

<?
 $content 
str_replace("\r\n","",$content);
?>

от $content нифига не остается. =(


З.Ы.
Кстати опять мои сообщения всегда последние
???

   
 
 автор: cheops   (28.11.2005 в 14:05)   письмо автору
 
   для: mistersmak   (28.11.2005 в 00:47)
 

Хм... странно, а какой текст вы пропускатете через этот блок?

PS В смысле последний, у вас какой режим отображения форума включён? Если обратный линейный - так и должно быть...

   
 
 автор: mistersmak   (28.11.2005 в 19:11)   письмо автору
 
   для: cheops   (28.11.2005 в 14:05)
 

Режим у меня структурный(иконка желтым выделена).
Через этот блок я пропускаю обычный ХТМЛ.
Вот он.

   
 
 автор: cheops   (28.11.2005 в 20:36)   письмо автору
 
   для: mistersmak   (28.11.2005 в 19:11)
 

Замените блок
<?php
$content 
str_replace('\r\n','',$text);
?>

на
<?php
$content 
str_replace('\r\n','',$content);
?>

У вас переменная $text пустая, поэтому всё обнуляется.

PS Ваш пост у меня 3 снизу, а у вас какой?

   
 
 автор: mistersmak   (29.11.2005 в 01:16)   письмо автору
 
   для: cheops   (28.11.2005 в 20:36)
 

Спасибо, я че-то совсем глючить стал. Надо мозги почистить.
Хотя все равно не работает =)
Может из-за того, что я файл построчно считываю?
А может я просто ламер? =)

>Он заменяет все тэги(должен заменять) на SQL-код
У меня это самый последний пост, даже после того, который я сейчас пишу.
И я могу их исправить.

   
 
 автор: cheops   (29.11.2005 в 12:59)   письмо автору
 
   для: mistersmak   (29.11.2005 в 01:16)
 

А вы замените строку
<?php
$fil 
file('cutme.html'); 
for(
$i=0;$i<count($fil);$i++) 
  { 
   
$content $content.$fil[$i]; 
  }
?>

на
<?php
  $content 
file_get_contents('cutme.html');
?>

   
 
 автор: mistersmak   (29.11.2005 в 22:40)   письмо автору
 
   для: cheops   (29.11.2005 в 12:59)
 

Не-а, все равно не берет, зараза! В чем еще может быть дело?

   
 
 автор: mistersmak   (27.11.2005 в 19:50)   письмо автору
 
   для: cheops   (26.11.2005 в 12:40)
 

Ау, ну где все? ХЭЛП ми!!!

   
 
 автор: mistersmak   (26.11.2005 в 00:33)   письмо автору
 
   для: cheops   (25.11.2005 в 14:01)
 

Он заменяет все тэги(должен заменять) на SQL-код

   
Rambler's Top100
вверх

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