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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: RSS условия воровства ( если есть - если нету и так далее )

Сообщения:  [1-3] 

 
 автор: Panker   (10.12.2006 в 12:38)   письмо автору
 
   для: cheops   (10.12.2006 в 12:37)
 

дауж, повременю с этим ( трудно пока, может готовый скрипт найду :)

   
 
 автор: cheops   (10.12.2006 в 12:37)   письмо автору
 
   для: Panker   (10.12.2006 в 09:51)
 

Используйте не одно регулярное выражение, а несколько, отдельное для <title>(.*?)</title>, отдельное для <link>(.*?)</link> и т.д. Если выражение срабатывает корректно и возвращает результат - этот фрагмент присутствует, если результата нет - отсутсвует.

   
 
 автор: Panker   (10.12.2006 в 09:51)   письмо автору
 
 

допустим на софт тайме

<title>Форум PHP портала SoftTime</title>
<link>http://www.softtime.ru/forum/</link>
<description>Форум PHP портала SoftTime поддерживается авторами нескольких книг по PHP</description>    <item>
 <title>Sightseeing</title>
<link>http://softtime.ru/forum/readrss.php?id=29082_1</link>
<description>Hi 
What are the best countries to go to ?  
Thanks a lot</description> 


или вот на самсунге


<title>Публикации о Samsung Electronics</title>
<link>http://samsung.ru/press/news/</link>
<description></description>
<image>
<url>http://www.samsung.ru/i/samsung_shop.gif</url>
<title>Samsung Electronics</title>
<link>http://samsung.ru</link>
<width>37</width>
<height>13</height>
</image>


у меня вопрсо пока не по записе, не по чему то другому!

Интиресует именно как взять всё правельно!

То есть в одно RSS есть описание, в другом нету, то есть мне как делать то ?
Мне нужно в грабилке писать все теги ?
А если нету чего то то писатся не будет?

Как бы я просто......мля запутался...

Смотрите, я граблю допустим так



<?php  
Error_Reporting
(E_ALL & ~E_NOTICE); 
include 
"config.php"



    
$text2 file_get_contents ("http://www.samsung.ru/press/news/news.rss");  
    if (
preg_match_all ("#<item>.*<title>(.*)</title>.*<link>(.*)</link>.*<description>(.*)</description>.*<pubDate>(.*)</pubDate>.*</item>#isU"$text2$regs))  
    {  
        for (
$i 0$i count($regs[1]); $i++)  
        {  
             
$title_rss iconv("UTF-8""WINDOWS-1251"trim($regs[1][$i]));  
             
$link_rss trim ($regs[2][$i]);  
             
$des_rss iconv("UTF-8""WINDOWS-1251"trim ($regs[3][$i]));  
             
$pub_rss trim ($regs[4][$i]);  


        }  
    }  

for (
$i 0$i count($regs[1]); $i++)   
        {   
             
$title_rss iconv("UTF-8""WINDOWS-1251"trim($regs[1][$i]));   
             
$link_rss trim ($regs[2][$i]);   
             
$des_rss iconv("UTF-8""WINDOWS-1251"trim ($regs[3][$i]));   
             
$pub_rss trim ($regs[4][$i]);   

    
$res mysql_query ("SELECT COUNT(link) FROM news WHERE link = '$link_rss'");  
    if(!
$res) exit(mysql_error());  
    
$total mysql_result($res0);  
    echo 
"$total"
              
             
$text2 file_get_contents ($link_rss);   
             if (
preg_match ('#</noindex></div><h1 class="news"><noindex>.*</noindex></h1>(<p>.*)<br clear="all"><table cellpadding="0" cellspacing="0" border="0" width="610">#isU'$text2$out))   
             
$text=$out[1];   

    if(
$total==0
    { 
   
$query "INSERT INTO news VALUES ('', '$title_rss', '$des_rss', '$pub_rss', '$link_rss')"// Здесь следует сформировать запрос под вашу таблицу  
   
mysql_query($query);  
    }  
    } 
?>


а если там где я граблю ВАААЩЕ не будет поля title допустим?
Будет ошибка и запись не произайдёт?
Или всё же просто запишется пустота?
Я бы проверил но я убью день на это и возможно всё равно не его не пойму :)

так же интиерсует - $des_rss = iconv("UTF-8", "WINDOWS-1251", trim ($regs[3][$i]));

А если RSS русская?
То это раскадировка не вопредит работе скрипта? :)

   

Сообщения:  [1-3] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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