|
|
|
|
|
для: Loki
(13.02.2007 в 10:39)
| | Там многие объяснения написаны на английском. Не очень понятно. А, вообще, если я использую регулярные выражения, то правильно весь код сохранять под именем с расширением .php? Или как правильно делать? Может, нужно сохранять как xml? Я просто не понимаю, как осуществляется разбор содержимого файла rss. Вот я знаю адрес канала, скажем, какого-нибудь на Яндексе типа: http://news.yandex.ru/theaters.rss. Хочу содержимое этого новостного канала размещать на сайте, но не знаю как. Приведённый выше скрипт, почему-то не работает. Не знаю в чём дело. Помогите советом! Плиз! | |
|
|
|
|
|
|
|
для: Footer
(13.02.2007 в 09:35)
| | Это уже теологический спор:)
Если вам удобнее разбирать с помощью регулярных выражений - делайте так. Но самые модные веяния призывают работать с xml файлом как с объектом | |
|
|
|
|
|
|
|
для: Loki
(12.02.2007 в 21:50)
| | А вы не могли бы поподробнее про это написать. А то я вообще про это ничего не знаю. Просто сохраняю код как файл с расширением .php и всё. Наверное, этого недостаточно? Подскажите, что ещё нужно сделать, чтобы всё заработало? | |
|
|
|
|
|
|
|
для: mtr
(12.02.2007 в 21:07)
| | Во-первых не XMLDOM, а DOMXML. А во-вторых: забудьте про него - он остался в четвертой версии. В пятой - только domdocument. | |
|
|
|
|
|
|
|
для: Mefisto84
(02.01.2007 в 17:47)
| | А про XMLDOM мы забыли? | |
|
|
|
|
|
|
|
для: Mefisto84
(12.02.2007 в 17:39)
| | Mefisto84, спасибо за помощь. Но у меня всё равно пока ничего не получается. Я изменил только:
$text = file_get_contents("http://news.yandex.ru/theaters.rss");
|
Загрузил файл на сервер и запустил. Но вообще страница не грузиться. Не знаю что делать. Помогите, очень нужно разобраться а я в этом не очень понимаю. Хелп! | |
|
|
|
|
|
|
|
для: Footer
(12.02.2007 в 14:39)
| | Вот этот же скрипт, с которым я тогда мучался, после немногих изменений(проблемы были с функцией urldecode) он заработал, а до этого и у меня не работал. Короче вот работающая версия, которой я пользуюсь, как гвоорится проверено :-) :
$text = file_get_contents("адрес файла rss");
if($text)
{
$Months=array('Jan'=>'01', 'Feb'=>'02', 'Mar'=>'03', 'Apr'=>'04', 'May'=>'05', 'Jun'=>'06', 'Jul'=>'07', 'Aug'=>'08', 'Sep'=>'09','Oct'=>'10','Nov'=>'11','Dec'=>'12');
$Days=array('Mon'=>'Пн', 'Tue'=>'Вт', 'Wed'=>'Ср', 'Thu'=>'Чт', 'Fri'=>'Пт', 'Sat'=>'Сб', 'Sun'=>'Вс');
$pattern = "/<item>(.*?)<\/item>/ims";/* регулярное выражения для выбора данных между двумя тегами <item></item>*/
preg_match_all($pattern, $text, $array);
$patt1 = "/<title>(.*?)<\/title>/ims";/*Заголовок новости*/
$patt2 = "/<description>(.*?)<\/description>/ims";/*тело новости*/
$patt3 = "/<pubDate>(.*?)<\/pubDate>/ims";/*дата публикации*/
$patt4 = "/<link>(.*?)<\/link>/ims";/*ссылка на сайт новостей*/
$i=0;
foreach ($array[1] as $v){
preg_match_all($patt1, $v, $text);
$news[$i]['title'] = $text[1][0];
preg_match_all($patt2, $v, $text);
$news[$i]['description'] = html_entity_decode($text[1][0]);
/*php автоматически переконвертил html символы поэтому вернем все обратно :)*/
preg_match_all($patt3, $v, $text);
$news[$i]['pubDate'] = $text[1][0];
preg_match_all($patt4, $v, $text);
$news[$i]['lind'] = urldecode($text[1][0]);
$i++;
}
foreach ($news as $v){
foreach($Days as $EngName => $RusName)
$v['pubDate']=str_replace($EngName, $RusName, $v['pubDate']);
foreach($Months as $EngName => $RusName)
$v['pubDate']=str_replace($EngName, $RusName, $v['pubDate']);
$v['pubDate']=str_replace(GMT, "", $v['pubDate']);
$v['pubDate']=rtrim($v['pubDate']);
echo "<center><a href=".$v['lind']." target=\"_blank\" title=\"".$v['title']."\"><b>$v['title']."</b></a></center><br>".$v['description']." [".$v['pubDate']."]";
}
}
|
| |
|
|
|
|
|
|
|
для: Footer
(11.02.2007 в 16:25)
| | Жду помощи! Хелп! Помогите разобраться! Плиз! | |
|
|
|
|
|
|
|
для: Footer
(11.02.2007 в 13:56)
| | Хелп! Помогите! Плиз! Никак не разберусь! | |
|
|
|
|
|
|
|
для: technic611
(28.01.2007 в 05:03)
| | Не знаю, почему, но у меня не получается запустить этот скрипт. Вот, я делаю так:
<?php
$text = file_get_contents("http://news.yandex.ru/theaters.rss");
if($text)
{
$Months=array('Jan'=>'01', 'Feb'=>'02', 'Mar'=>'03', 'Apr'=>'04', 'May'=>'05', 'Jun'=>'06', 'Jul'=>'07', 'Aug'=>'08',
'Sep'=>'09','Oct'=>'10','Nov'=>'11','Dec'=>'12');
$Days=array('Mon'=>'Пн', 'Tue'=>'Вт', 'Wed'=>'Ср', 'Thu'=>'Чт', 'Fri'=>'Пт', 'Sat'=>'Сб', 'Sun'=>'Вс');
$pattern = "/<item>(.*?)<\/item>/ims";/* регулярное выражения для выбора данных между двумя тегами <item></item>*/
preg_match_all($pattern, $text, $array);
$patt1 = "/<title>(.*?)<\/title>/ims";/*Заголовок новости*/
$patt2 = "/<description>(.*?)<\/description>/ims";/*тело новости*/
$patt3 = "/<pubDate>(.*?)<\/pubDate>/ims";/*дата публикации*/
$patt4 = "/<link>(.*?)<\/link>/ims";/*ссылка на сайт новостей*/
$i=0;
foreach ($array[1] as $v){
preg_match_all($patt1, $v, $temp);
$news[$i]['title'] = $temp[1][0];
preg_match_all($patt2, $v, $temp);
$news[$i]['description'] = html_entity_decode($temp[1][0]);
/*php автоматически переконвертил html символы поэтому вернем все обратно :)*/
preg_match_all($patt3, $v, $temp);
$news[$i]['pubDate'] = $temp[1][0];
preg_match_all($patt4, $v, $temp);
$news[$i]['link'] = urldecode($temp[1][0]);
$i++;
}
foreach ($news as $v){
foreach($Days as $EngName => $RusName)
$v['pubDate']=str_replace($EngName, $RusName, $v['pubDate']);
foreach($Months as $EngName => $RusName)
$v['pubDate']=str_replace($EngName, $RusName, $v['pubDate']);
$v['link']=str_replace("http://news.yandex.ru/theaters.rss", $v['link']);
$v['pubDate']=str_replace(GMT, "", $v['pubDate']);
$v['pubDate']=rtrim($v['pubDate']);
echo "<div class=news_title><br><a href=".$v['link'].">".$v['title']."</a></div><a class=answers>".$v['description']."<font
color='#666666'> [".$v['pubDate']."]";
}
}
?>
|
В месте, где должен быть текст, выдаваемый скриптом, ничего нет. Подскажите, что я делаю не так? | |
|
|
| |
|