|
|
|
|
|
для: Trianon
(25.04.2006 в 13:19)
| | Ну вот смотрите, парсером мы выводим заголовки и краткие описания с датой, а ссылка ведет на другую страницу, т.е. откуда новости берутся. А надо чтобы эта страница лежала на локальном сервере. Чтобы посетитель с сайта не уходил. | |
|
|
|
|
|
|
|
для: Tema
(25.04.2006 в 13:13)
| | Смотря что понимать под "сграбить".
И вообще, это новая тема. | |
|
|
|
|
|
|
|
для: Trianon
(25.04.2006 в 11:08)
| | Спасибо!
Подскажите еще как можно сграбить страницы, на которые ведут ссылки с RSS?
К примеру http://www.merlion.ru/print/reviews/review-830/?rss | |
|
|
|
|
|
|
|
для: Tema
(25.04.2006 в 10:39)
| | Тогда уж стоит подточить как-то так...
<?php
function StripXmlTags($Str)
{
$Str=ereg_replace('<[/a-z]+>', ' ', $Str);
return($Str);
}
$Url='http://www.merlion.ru/rss/reviews/';
$Months=array('Jan'=>'января', 'Feb'=>'февраля', 'Mar'=>'марта', 'Apr'=>'апреля', 'May'=>'мая', 'Jun'=>'июня', 'Jul'=>'июля', 'Aug'=>'августа', 'Sep'=>'сентября','Oct'=>'октября','Nov'=>'ноября','Dec'=>'декабря');
$rss = file_get_contents($Url);
if($rss)
{
$Content = explode("\n", str_replace("</", "\n</", $rss));
$ItemExists=false;
$Num=0;
//... и т.д.
|
но всё равно это не нормальный разбор, а голое шаманство. Полно ресурсов найдется, на которых этот (и им подобные скрипты) споткнутся. | |
|
|
|
|
|
|
|
для: cheops
(25.04.2006 в 10:30)
| | Все что не пробовал нормально обрабатывает. А вот этот неправильно, не пойму почему? Хелп ми плиз. | |
|
|
|
|
|
|
|
для: Trianon
(25.04.2006 в 10:23)
| | Ошибся, почему-то показалось, что речь идёт CSV...
PS Собственно наверное ничем. | |
|
|
|
|
|
|
|
для: cheops
(24.04.2006 в 23:28)
| | Как CSV-парсер будет разбирать XML?
И пардон, не в тему, но всё же...
Вы достаточно часто предлаагете этот скрипт, как я заметил.
В чем преимущества этого скрипта и ему подобных перед функцией fgetcsv()? | |
|
|
|
|
|
|
|
для: Tema
(24.04.2006 в 16:48)
| | Лучше ориентироваться на скрипт из раздела downloads http://www.softtime.ru/info/csv.php. | |
|
|
|
|
|
|
| Скажите плз, почему парсер(взят с форума) неправильно обрабатывает RSS http://www.merlion.ru/rss/reviews/
<?php
function StripXmlTags($Str)
{
$Str=ereg_replace('<[/a-z]+>|<br>|'', '', $Str);
return($Str);
}
$Url='http://www.merlion.ru/rss/reviews/';
$Months=array('Jan'=>'января', 'Feb'=>'февраля', 'Mar'=>'марта', 'Apr'=>'апреля', 'May'=>'мая', 'Jun'=>'июня', 'Jul'=>'июля', 'Aug'=>'августа', 'Sep'=>'сентября','Oct'=>'октября','Nov'=>'ноября','Dec'=>'декабря');
$rss=@fopen($Url, 'r');
if($rss)
{
$Content=file($Url);
$ItemExists=false;
fclose($rss);
$Num=0;
for($i=0; $i<count($Content); $i++)
{
if(strpos($Content[$i], '<item>') !== false)
$ItemExists=true;
if($ItemExists==true)
{
if(strpos($Content[$i], '<title>') !== false)
$News[$Num]['title']=StripXmlTags($Content[$i]);
if(strpos($Content[$i], '<link>') !== false)
$News[$Num]['link']=StripXmlTags($Content[$i]);
if(strpos($Content[$i], '<description>') !== false)
$News[$Num]['description']=StripXmlTags($Content[$i]);
if(strpos($Content[$i], '<pubDate>') !== false)
{
$News[$Num]['pubDate']=StripXmlTags($Content[$i]);
foreach($Months as $EngName => $RusName)
$News[$Num]['pubDate']=str_replace($EngName, $RusName, $News[$Num]['pubDate']);
$Num++;
}
}
}
for($i=0; $i<count($News); $i++)
{
Print"<b>{$News[$i]['title']}</b><hr>";
Print"{$News[$i]['pubDate']}<hr>";
Print"{$News[$i]['description']}<hr>";
Print"<a href='{$News[$i]['link']}' target=_blank>подробнее >></a><hr>";
}
} else
{
echo "К сожалению новостей сегодня не будет";
exit;
}
?>
|
| |
|
|
|
|