Импорт RSS

Тема в разделе "PHP для новичков", создана пользователем ART79, 25 май 2007.

  1. Riv

    Riv Активный пользователь

    С нами с:
    18 сен 2007
    Сообщения:
    6
    Симпатии:
    0
    Да, только из этого =)

    Спасибо огромное, помогло =)

    апд:

    всплыла такая проблема - сделал это на "черновике" сайта - все отлично работало. Залил на "чистовой" вариант - отображаються либо "крякозяблы" из последней цытаты (без добавления $item['title'] = iconv('UTF-8','CP1251',$item['title']); ) либо все до места новостей и ничего после (белый лист..)..

    что это может быть и как его решить? =(
     
  2. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    7.983
    Симпатии:
    1
    Адрес:
    Оттуда
    1. включит вывод ошибок
    2. на хостинге не стоит iconv() либа
     
  3. vb

    vb Активный пользователь

    С нами с:
    6 июн 2006
    Сообщения:
    911
    Симпатии:
    0
    Адрес:
    Saint-Petersburg
  4. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.783
    Симпатии:
    0
    Функция для преобразования XML в массив :) PHP 5+
    PHP:
    <?php
    $array 
    = (array)simplexml_load_string("rss.xml");
     
  5. starkeen

    starkeen Активный пользователь

    С нами с:
    15 июн 2007
    Сообщения:
    37
    Симпатии:
    0
    А вот подскажите, не совсем в тему. В приведенном скрипте импорта RSS выводятся в качестве анонсов первые 150 символов статьи. А если при разбиении окажутся порезанными парные тэги, то результат будет совсем уж некрасивым. Незакрытый <b> исказит шрифты, а ссылки могут наслоиться друг на друга.
    Посему вопрос, что можете посоветовать, кроме неприменения тэгов? Можно ли как-то скопом закрыть их все?
     
  6. newnoob

    newnoob Активный пользователь

    С нами с:
    8 авг 2006
    Сообщения:
    151
    Симпатии:
    0
    Я вот тоже читаю топик и не совсем понял зачем вообще нужны классы если есть давно SimpleXML который на уря работает с XML в том числе и RSS каналами, давно написал себе модуль граббера который не только грабит анонс но и всё содержимое по тэгам поиска + сливает картинки (Алгоритм работы как у любого платного граббера тот же NewsGrabber).
     
  7. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    7.983
    Симпатии:
    1
    Адрес:
    Оттуда
    ну и выложи сюда исходник причесанный.
    пусть другие поучаться.
     
  8. dfg

    dfg Активный пользователь

    С нами с:
    2 фев 2007
    Сообщения:
    53
    Симпатии:
    0
    Адрес:
    Зеленоград
    Уважаемый Entrery в начале темы выложил переделаный код 440Hz, все замечательно работает, но вот картинку из новости убивает, вот часть кода, как я думаю именно она очищает текст от всякого хлама, но там есть картинка, ребята как зделать чтоб картинка осталась?



    PHP:
    <? $DESC= str_replace("<![CDATA[","",$DESC);
                   
    $DESC= str_replace("]]>","",$DESC);
                   echo 
    "<ul> <li class=\"cat-item cat-item-1\">".$DESC."...</li>";
    ?>
     
  9. AviOn

    AviOn Активный пользователь

    С нами с:
    16 июл 2007
    Сообщения:
    171
    Симпатии:
    0
    Адрес:
    Кировоград, Украина
    есть такой код rss
    как вынуть оттуда картинку??
     
  10. inkor

    inkor Активный пользователь

    С нами с:
    2 янв 2008
    Сообщения:
    2
    Симпатии:
    0
    помогите кто нибудь! как сделать чтобы этот код (представлен ниже) мог выводить новости постранично (например 20 новостей по 5 на страницу = 4 страницы) этот код подцепляю к странице вывода так

    <?

    echo DisplayRss("http://откуда брать новости", сколько выводить на странице);
    ?>

    Видел код пейджера от господина 440hz но ничего в нем не понял, вот если б их обединить как нибудь))


    PHP:
    <?php
      
       
    // выдирание RSS потоков
       // 440hz
     
      ### TOOLS ###
      
       
    function GetXMLFirstVal($r,$t) {
              if(
    preg_match_all('/<('.$t.')>(.*)<\/\\1>/Usi',$r,$o)) return $o[2][0];
              return 
    false;
       }
      
       function 
    GetXMLAllVal($r,$t) {
              if(
    preg_match_all('/<('.$t.')>(.*)<\/\\1>/Usi',$r,$o)) return $o[2];
              return array();
       }
      
       function 
    GetStream($URL,$mode=0) {
      
      
          switch(
    $mode) {
      
              
    // php
              
    case 0:
                  
    $results = file_get_contents($URL);
                  break;
      
              
    // CURL
              
    case 1:
      
                  
    $ch = curl_init();
                  
    curl_setopt ($ch, CURLOPT_URL, $URL);            // Destination URL
                  
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);    // Output to a variable
                  
    curl_setopt ($ch, CURLOPT_POST, 0);                // Use HTTP POST
                  
    curl_setopt ($ch, CURLOPT_TIMEOUT, 20);            // Default Timeout
      
                  
    $results = curl_exec($ch);
                  if(
    curl_error($ch)) {
                      
    print_r(curl_getinfo($ch));
                      exit();
                  }
      
                  break;
      
              
    // SOCKETS
              
    case 2:
      
                  
    $info = parse_url($URL);
      
                  
    $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
                  if (
    $socket < 0) {
                      echo 
    "socket_create() failed: reason: " . socket_strerror($socket) . "\n";
                      exit();
                  }
                  
    $result = socket_connect($socket, $info['host'], 80);
                  if (
    $result < 0) {
                      echo 
    "socket_connect() failed.\nReason: ($result) " . socket_strerror($result) . "\n";
                  }
      
                  
    $in  = "GET ".$info['path']." HTTP/1.1\r\n";
                  
    $in .= "Host: ".$info['host']."\r\n";
                  
    $in .= "Connection: Close\r\n\r\n";
      
                  
    socket_write($socket, $in, strlen($in));
      
                  
    $out = '';
                  
    $results = '';
      
                  while (
    $out = socket_read($socket, 2048)) {
                      
    $results .= $out;
                  }
      
                  
    socket_close($socket);
      
                  break;
      
              default:
                 
    $results = '';
          }
         return 
    $results;
       }
      
       
    ### TOOLS ###
      
       // RSS потоки
       // ТОЛЬКО ссылки БЕЗ параметров!
       // get.rss?a=b непокатит. тогда нужно юзать CURL
       /*
       $RSSS = array();
       $RSSS[] = 'http://tarmans.kombats.ru/?module=news&cmd=rss';
       $RSSS[] = 'http://www.paladins.ru/rss.php';
        */
       
    function DisplayRss($RSS,$j)
        
    // перебираем потоки
       
    {
      
          
    //print("\n$RSS");
      
          // получаем контент
          // 0 - php
          // 1- curl
          // 2- sock
          
    $XML = GetStream($RSS,0);
      
          if(
    $XML) {
      
              
    // получаеми список всех ITEM
              
    $ITEMS = GetXMLAllVal($XML,'item');
                  
    $g=0;
              
    // перебираем ITEM
              
    foreach($ITEMS AS $ITEM) {
                    
    $g++;
                  
    // получаем данные
                  
    $TITLE = GetXMLFirstVal($ITEM,'title');
                  
    $LINK  = GetXMLFirstVal($ITEM,'link');
                  
    $DESC  = GetXMLFirstVal($ITEM,'description');
                  
    $DATE  = GetXMLFirstVal($ITEM,'pubDate');
                  
    $CAT  = GetXMLFirstVal($ITEM,'category');
      
                  
    // ver 2.0
                  
    if(!$DATE) {
                      
    $DATE = GetXMLFirstVal($ITEM,'dc:date');
                  }
      
                  
    // конвертим дату в unixtime
                  
    if($DATE) $DATE = strtotime($DATE);
                  else      
    $DATE = time();
      
                  
    // преобразуем спецсимволы
                  
    $TITLE = html_entity_decode($TITLE,ENT_QUOTES);
                  
    $DESC  = html_entity_decode($DESC,ENT_QUOTES);
                  
    $CAT  = html_entity_decode($CAT,ENT_QUOTES);
      
                  print(
    "\n<ul> <a href = '$LINK' target=_blank > $TITLE </a> ");
                  
    $DESC=strip_tags($DESC);
                    
    $sl = strlen($DESC);
                    if(
    $sl>157){
                        
    $DESC = str_split($DESC,156);
                      
    $DESC = trim($DESC[0]);
                                    }
      
                    
    $DESC= str_replace("<![CDATA[","",$DESC);
                    
    $DESC= str_replace("]]>","",$DESC);
                    echo 
    "<li><i>".$DESC."...</i></li>";
      
                  echo 
    "<br>";
                    echo 
    "</ul>";
                    if (
    $g==$j){break;}
              }
      
          }
       }
      
       
    // что б в шелле строку переводило ...
       
    print("\n");
      

       
    ?>
    [/php]
     
  11. inkor

    inkor Активный пользователь

    С нами с:
    2 янв 2008
    Сообщения:
    2
    Симпатии:
    0
    а чуть не забыл надо чтобы он еще и русский понимал ато выдает иероглифы?
    и еще как сделать чтобы в титле страници выводил заголовок первой новости?
     
  12. .50

    .50 Активный пользователь

    С нами с:
    7 июн 2006
    Сообщения:
    136
    Симпатии:
    0
    Адрес:
    СПб
    http://rssphp.net/ - отличный грабер rss, xml.

    Лень не дает описать все возможности. Но смею советовать...
     
  13. Yura1978

    Yura1978 Активный пользователь

    С нами с:
    4 июн 2008
    Сообщения:
    1
    Симпатии:
    0
    Симптом тот же.
    Настройка iconv() на хостинге:

    Код:
    iconv
    iconv support 	enabled
    iconv implementation 	glibc
    iconv library version 	1.11
    
    Directive	Local Value	Master Value
    iconv.input_encoding	ISO-8859-1	ISO-8859-1
    iconv.internal_encoding	ISO-8859-1	ISO-8859-1
    iconv.output_encoding	ISO-8859-1	ISO-8859-1
    Что может помочь?
     
  14. gkhelloworld

    gkhelloworld Активный пользователь

    С нами с:
    18 ноя 2007
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    PHP.ru
  15. gkhelloworld

    gkhelloworld Активный пользователь

    С нами с:
    18 ноя 2007
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    PHP.ru
  16. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.036
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Забей на него, юзай SimpleXML (сам определяет кодировку RSS файла,
    а выход даёт в UTF-8, последнее как-то можно настроить, но я не помню)

    PHP:
    <?php
    $rss 
    = simplexml_load_file('http://news.yandex.ru/hardware.rss');
    ?>
    <?
    foreach($rss->channel->item as $item):?>
        <a href="<?=$item->link?>"><?=$item->title?></a><br>
        <?=$item->description?><br>
        Date: <?=$item->pubDate?><hr>
    <?endforeach?>
     
  17. gkhelloworld

    gkhelloworld Активный пользователь

    С нами с:
    18 ноя 2007
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    PHP.ru
    круто...спасибо. Владсон. а последнее исправить можно iconv ? или как там тема..
    мне тож надо получить UTF-8..а то что я импортирую в cp1251
    т.е. cp1251 --> UTF-8 и потом парсу давать.. пральна так?*
     
  18. gkhelloworld

    gkhelloworld Активный пользователь

    С нами с:
    18 ноя 2007
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    PHP.ru
    не...иконВ не получается
     
  19. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.036
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    PHP:
    <?=$item->description?>
    PHP:
    <?=iconv('utf-8', 'windows-1251', $item->description)?>
    И аналогично с
    PHP:
    <?=$item->title?>
    PHP:
    <?=iconv('utf-8', 'windows-1251', $item->title)?>
    Что тут не понятного ?

    Т.е

    PHP:
    <?php
    $rss 
    = simplexml_load_file('http://news.yandex.ru/hardware.rss');
    ?>
    <?
    foreach($rss->channel->item as $item):?>
        <a href="<?=$item->link?>"><?=iconv('utf-8', 'windows-1251', $item->title)?></a><br>
        <?=iconv('utf-8', 'windows-1251', $item->description)?><br>
        Date: <?=$item->pubDate?><hr>
    <?endforeach?>
     
  20. gkhelloworld

    gkhelloworld Активный пользователь

    С нами с:
    18 ноя 2007
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    PHP.ru
    точно..а я не так делал =) я протупил..я сделал отдельно!
     
  21. Созидатель

    Созидатель Активный пользователь

    С нами с:
    30 июн 2007
    Сообщения:
    25
    Симпатии:
    0
    Адрес:
    Россия, Шахты
    Вопрос интересный...

    Похожая проблема, только связанна какраз не с импортом, а экспортом RSS. Как можно обрезать все теги? Именно обрезать их, а не обработать htmlspecialchars() , чтобы не портили вид новостей.
    Нужно убрать все тэги из новости. Интуитивно чувствую, что как-то можно решить с помощью регулярок, но с ними знаком не на должном уровне.

    -----------------------------------------------------------

    UPD

    Спасибо, но уже нашёл выход
    strip_tags()
     
  22. Boroda

    Boroda Активный пользователь

    С нами с:
    20 окт 2008
    Сообщения:
    1
    Симпатии:
    0
    Cкачал, импортер RSS, предложенный .50.
    Вещь действительно хорошая. Только там не предусмотрены русские кодировки.
    При импорте с русскоязычных лент выводит обычно в utf-8.
    Может, кто-нибудь сможет помочь вписать туда русские кодировки.
    (если это возможно, конечно)
    Я сам не программист, поэтому до конца не понимаю...
    Вот сам импортер:

    Код:
    <?php
    /*
    	RSS_PHP - the PHP DOM based RSS Parser
    	Author: <rssphp.net>
    	Published: 200801 :: blacknet :: via rssphp.net
    	
    	RSS_PHP is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY.
    
    	Usage:
    		See the documentation at http://rssphp.net/documentation
    	Examples:
    		Can be found online at http://rssphp.net/examples
    */
    
    class rss_php {
    	
    	public $document;
    	public $channel;
    	public $items;
    
    /****************************
    	public load methods
    ***/
    	# load RSS by URL
    		public function load($url=false, $unblock=true) {
    			if($url) {
    				if($unblock) {
    					$this->loadParser(file_get_contents($url, false, $this->randomContext()));
    				} else {
    					$this->loadParser(file_get_contents($url));
    				}
    			}
    		}
    	# load raw RSS data
    		public function loadRSS($rawxml=false) {
    			if($rawxml) {
    				$this->loadParser($rawxml);
    			}
    		}
    		
    /****************************
    	public load methods
    		@param $includeAttributes BOOLEAN
    		return array;
    ***/
    	# return full rss array
    		public function getRSS($includeAttributes=false) {
    			if($includeAttributes) {
    				return $this->document;
    			}
    			return $this->valueReturner();
    		}
    	# return channel data
    		public function getChannel($includeAttributes=false) {
    			if($includeAttributes) {
    				return $this->channel;
    			}
    			return $this->valueReturner($this->channel);
    		}
    	# return rss items
    		public function getItems($includeAttributes=false) {
    			if($includeAttributes) {
    				return $this->items;
    			}
    			return $this->valueReturner($this->items);
    		}
    
    /****************************
    	internal methods
    ***/
    	private function loadParser($rss=false) {
    		if($rss) {
    			$this->document = array();
    			$this->channel = array();
    			$this->items = array();
    			$DOMDocument = new DOMDocument;
    			$DOMDocument->strictErrorChecking = false;
    			$DOMDocument->loadXML($rss);
    			$this->document = $this->extractDOM($DOMDocument->childNodes);
    		}
    	}
    	
    	private function valueReturner($valueBlock=false) {
    		if(!$valueBlock) {
    			$valueBlock = $this->document;
    		}
    		foreach($valueBlock as $valueName => $values) {
    				if(isset($values['value'])) {
    					$values = $values['value'];
    				}
    				if(is_array($values)) {
    					$valueBlock[$valueName] = $this->valueReturner($values);
    				} else {
    					$valueBlock[$valueName] = $values;
    				}
    		}
    		return $valueBlock;
    	}
    	
    	private function extractDOM($nodeList,$parentNodeName=false) {
    		$itemCounter = 0;
    		foreach($nodeList as $values) {
    			if(substr($values->nodeName,0,1) != '#') {
    				if($values->nodeName == 'item') {
    					$nodeName = $values->nodeName.':'.$itemCounter;
    					$itemCounter++;
    				} else {
    					$nodeName = $values->nodeName;
    				}
    				$tempNode[$nodeName] = array();				
    				if($values->attributes) {
    					for($i=0;$values->attributes->item($i);$i++) {
    						$tempNode[$nodeName]['properties'][$values->attributes->item($i)->nodeName] = $values->attributes->item($i)->nodeValue;
    					}
    				}
    				if(!$values->firstChild) {
    					$tempNode[$nodeName]['value'] = $values->textContent;
    				} else {
    					$tempNode[$nodeName]['value']  = $this->extractDOM($values->childNodes, $values->nodeName);
    				}
    				if(in_array($parentNodeName, array('channel','rdf:RDF'))) {
    					if($values->nodeName == 'item') {
    						$this->items[] = $tempNode[$nodeName]['value'];
    					} elseif(!in_array($values->nodeName, array('rss','channel'))) {
    						$this->channel[$values->nodeName] = $tempNode[$nodeName];
    					}
    				}
    			} elseif(substr($values->nodeName,1) == 'text') {
    				$tempValue = trim(preg_replace('/\s\s+/',' ',str_replace("\n",' ', $values->textContent)));
    				if($tempValue) {
    					$tempNode = $tempValue;
    				}
    			} elseif(substr($values->nodeName,1) == 'cdata-section'){
    				$tempNode = $values->textContent;
    			}
    		}
    		return $tempNode;
    	}
    	
    	private function randomContext() {
    		$headerstrings = array();
    		$headerstrings['User-Agent'] = 'Mozilla/5.0 (Windows; U; Windows NT 5.'.rand(0,2).'; en-US; rv:1.'.rand(2,9).'.'.rand(0,4).'.'.rand(1,9).') Gecko/2007'.rand(10,12).rand(10,30).' Firefox/2.0.'.rand(0,1).'.'.rand(1,9);
    		$headerstrings['Accept-Charset'] = rand(0,1) ? 'en-gb,en;q=0.'.rand(3,8) : 'en-us,en;q=0.'.rand(3,8);
    		$headerstrings['Accept-Language'] = 'en-us,en;q=0.'.rand(4,6);
    		$setHeaders = 	'Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5'."\r\n".
    						'Accept-Charset: '.$headerstrings['Accept-Charset']."\r\n".
    						'Accept-Language: '.$headerstrings['Accept-Language']."\r\n".
    						'User-Agent: '.$headerstrings['User-Agent']."\r\n";
    		$contextOptions = array(
    			'http'=>array(
    				'method'=>"GET",
    				'header'=>$setHeaders
    			)
    		);
    		return stream_context_create($contextOptions);
    	}
    	
    }
    
    ?>
     
  23. berkoot7

    berkoot7 Активный пользователь

    С нами с:
    23 фев 2009
    Сообщения:
    82
    Симпатии:
    0
    подскажите плиз...
    вот нашел код
    PHP:
    <?php 
    /********************************************************** 
     * Parse XML data into an array structure                 * 
     * Usage: array parse_rss ( string data )                 * 
     **********************************************************/ 
    function parse_rss($reg_exp, $xml_data) { 
        
    preg_match_all($reg_exp, $xml_data, $temp); 
        return array( 
            
    'count'=>count($temp[0]), 
            
    'title'=>$temp[1], 
            
    'link'=>$temp[2], 
            
    'desc'=>$temp[3], 
            
    'pubdate'=>$temp[4]   //добавлено 
        
    ); 
    } 

    /********************************************************** 
     * Parse Array data into an HTML structure                * 
     * Usage: string parse_rss ( array data )                 * 
     **********************************************************/ 
    function output_rss($pattern, $rss_data) { 
        
    $temp = ""; 
        for(
    $i=0; $i<$rss_data['count']; $i++) { 
            
    $temp .= sprintf($pattern, 
                
    $rss_data['link'][$i], 
                
    html_entity_decode($rss_data['title'][$i]), 
                
    html_entity_decode($rss_data['desc'][$i]), 
                
    $rss_data['pubdate'][$i]   //добавлено 
            
    ); 
        } 
        return 
    $temp; 
    } 

    /********************************************************** 
     * Settings                                               * 
     **********************************************************/ 
    $url = 'http://fashionstreet.ru/news/rss.xml'; 

    $reg_exp  = '#<item>.*?<title>(.*?)<\/title>.*?'; 
    $reg_exp .='<link>(.*?)<\/link>.*?<description>'; 
    $reg_exp .='(.*?)<\/description>.*?<pubDate>'; //исправлено 
    $reg_exp .= '(.*?)<\/pubDate>.*?<\/item>#si';  //добавлено 

    $pattern = '<a href="%s">%s</a><br>%s<br>Date: %s<hr>'; 

    /********************************************************** 
     * Main script                                            * 
     **********************************************************/ 
    if ( $xml_data = file_get_contents($url) ) { 
        
    $rss_data = parse_rss($reg_exp, $xml_data); 
        echo 
    output_rss($pattern, $rss_data); 
    } 
    /********************************************************** 
     * The END                                                * 
     **********************************************************/ 
    ?>
    что нужно удалить чтоб выводились только title с линками
    и в догонку вопрос... например чтоб тока первые 5 выводились
     
  24. berkoot7

    berkoot7 Активный пользователь

    С нами с:
    23 фев 2009
    Сообщения:
    82
    Симпатии:
    0
    а вообще может ктонить дать код чтоб новости пихались сразу в БД, обновление вручную сделать
    в общем надо чтоб новости с другого сайта пихались в БД а потом выводились из неё на моем сайте
    как? )))
     
  25. ma1oy

    ma1oy Активный пользователь

    С нами с:
    26 май 2009
    Сообщения:
    4
    Симпатии:
    0
    Добрый день, у меня здесь появилась проблема, подскажите что не так, сам не программист...
    Дело в чем, нужно спарсить с сайта RSS новости и положить аккуратно в базу, вроде все хорошо работало с кодом ниже, но появилась проблема, когда появляются новые новости, начинаются дублироваться и старые новости, решил сделать проверку, но почемуто не работает (второй код)...



    PHP:
    <?
    $query = "INSERT INTO b_iblock_element (NAME,DETAIL_TEXT,DATE_CREATE,TIMESTAMP_X,ACTIVE_FROM,IBLOCK_ID,DETAIL_TEXT_TYPE,CREATED_BY) VALUES('".
       
    $TITLE."','".$DESC."','".date('Y-m-d H:i:s',$DATE)."','".date('Y-m-d H:i:s',$DATE)."','".date('Y-m-d H:i:s',$DATE)."','".$BLOCK."','".$TEXTTYPE."','".$CREATEDBY."')";
       
                    
    $result = mysql_query($query);
                    
                    print(
    $result);
    ?>



    PHP:
    <?
    $newsold = mysql_query("SELECT * FROM b_iblock_element WHERE NAME = '$TITLE'");
                if(!
    $newsold) {
                  
    $query = "INSERT INTO b_iblock_element (NAME,DETAIL_TEXT,DATE_CREATE,TIMESTAMP_X,ACTIVE_FROM,IBLOCK_ID,DETAIL_TEXT_TYPE,CREATED_BY) VALUES('".
       
    $TITLE."','".$DESC."','".date('Y-m-d H:i:s',$DATE)."','".date('Y-m-d H:i:s',$DATE)."','".date('Y-m-d H:i:s',$DATE)."','".$BLOCK."','".$TEXTTYPE."','".$CREATEDBY."')";
                  
    $result = mysql_query($query);
              print(
    $result);
                  print(
    "insert");
              } else {
                  
    $query = "UPDATE b_iblock_element SET NAME = '".$TITLE."', DETAIL_TEXT = '".$DESC."', DATE_CREATE = '".date('Y-m-d H:i:s',$DATE)."', TIMESTAMP_X = ".date('Y-m-d H:i:s',$DATE)."', ACTIVE_FROM = ".date('Y-m-d H:i:s',$DATE)."', IBLOCK_ID = ".$BLOCK."', DETAIL_TEXT_TYPE = ".$TEXTTYPE."', CREATED_BY = ".$CREATEDBY."' WHERE NAME = '$TITLE'";
                  
    $result = mysql_query($query);
                  print(
    $result);
                  print(
    "update");
                  
             }
    ?>
    PS вот результат работы скрипта с последним кодом, только первые 2 новости он должен добавить а не просто обновить...
    Код:
    [2009-05-26 15:02:39] - [Что будет с Сердюковым]update
    [2009-05-26 14:08:38] - [Ревизия на границе]update
    [2009-05-26 14:05:23] - [Таможенный пункт пропуска будет установлен на Финляндском вокзале Санкт- Петербурга]update
    [2009-05-26 13:59:07] - [Новый логоцентр в ожидании арендаторов]update
    [2009-05-26 13:52:10] - [Эффект новой логистики АВТОВАЗа]update