Импорт заголовокв RSS

Ria.neiron
На сайте с 22.03.2009
Offline
347
490

Добрый день.

В соседней теме нашел скрипт импорта RSS, все работает, но задача выводить "Дата - Заголовок(ссылкой на новость)" а скрипт выводит:

"Заголовок(ссылкой на новость)

новость"

Вот сам скрипт:

<?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]
);
}

/**********************************************************
* Parse Array data into an HTML structure *
* Usage: string parse_rss ( array data ) *
**********************************************************/
function output_rss($pattern, $rss_data) {
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])
);
}
return $temp;
}

/**********************************************************
* Settings *
**********************************************************/
$url = 'http://forum.megahoster.net/index.php?act=rssout&id=1';

$reg_exp = '#<item>.*?<title>(.*?)<\/title>.*?';
$reg_exp .='<link>(.*?)<\/link>.*?<description>';
$reg_exp .='(.*?)<\/description>.*?<\/item>#si';

$pattern = '<a href="%s">%s</a><br>%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 *
**********************************************************/
?>
Безлимитные серверы 100 Mbps от 29$. (http://megahoster.net/server_nl.php) Нидерланды Безлимитные серверы 1 Gbps от 59$ (http://megahoster.net/server_fr.php) Франция, США Администрирование серверов и перенос сайтов - бесплатно!
P
На сайте с 03.12.2008
Offline
38
#1

<?php

$x = simplexml_load_file("http://forum.megahoster.net/index.php?act=rssout&id=1");
foreach($x->channel->item as $i)
{
echo date("Y.m.d", strtotime($i->pubDate));
echo ' <a href="', $i->link, '">', $i->title, "</a><br />\n";
}
?>
Ria.neiron
На сайте с 22.03.2009
Offline
347
#2

Prividenie, спасибо!

Находил подобный код, но он кирилицу выводит как:

Новость
P
На сайте с 03.12.2008
Offline
38
#3

а что мешает iconv использовать :)

Ria.neiron
На сайте с 22.03.2009
Offline
347
#4

Ничего не мешает. Правильно использовать не получается.

P
На сайте с 03.12.2008
Offline
38
#5

<?php

$x = simplexml_load_file("http://forum.megahoster.net/index.php?act=rssout&id=1");
foreach($x->channel->item as $i)
{
echo iconv("UTF-8", "WINDOWS-1251", date("Y.m.d", strtotime($i->pubDate)));
echo iconv("UTF-8", "WINDOWS-1251", ' <a href="'. $i->link. '">'. $i->title. "</a><br />\n");
}
?>
Ria.neiron
На сайте с 22.03.2009
Offline
347
#6

Спасибо, то что доктор прописал. Думаю многим будет полезен этот код, т.к. в поиске встречал только жалобы на кракозяблы, а решения нет.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий