|
|
|
| Посмотрел вот этот парсер RSS-новостей написаный
antf
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=639
Он читает только rss формата
<item>
<title>Азербайджан обеспечивает энергетическую безопасность в регионе, считает президент Грузии</title>
<link>http://news.yandex.ru/yandsearch?cl4url=www.interfax.ru/r/B/sng/14.html%3Fid%5Fissue%3D11650298&country=Russia</link>
<description>ИНТЕРФАКС-АЗЕРБАЙДЖАН -</description>
<pubDate>Wed, 20 Dec 2006 13:00:04 +0300</pubDate>
<guid>http://news.yandex.ru/yandsearch?cl4url=www.interfax.ru/r/B/sng/14.html%3Fid%5Fissue%3D11650298&country=Russia</guid>
</item>
|
а мне нужно читать rss с сайта регнум www.regnum.ru там можно выбирать в каком формате экспортировать новости можно rss, с разделением через табуляцию..
мне нужно читать rss но я посмотрел там немного другой формат rss :(
ВОт моя ссылка на сайте http://www.regnum.ru/getexp/?id=14150
<item>
<title><![CDATA[Гордума одобрила изменения геральдических символов Нижнего Новгорода]]></title>
<link>http://www.regnum.ru/news/758079.html</link>
<guid isPermaLink="true">http://www.regnum.ru/news/758079.html</guid>
<description><![CDATA[Депутаты Городской соответствие с совета...]]></description>
<pubDate>Wed, 20 Dec 2006 12:32:00 +0300</pubDate>
<category><![CDATA[ПОЛИТИКА]]></category>
<category><![CDATA[Нижегородская обл.]]></category>
</item>
|
поесть в добаляется внутки ещё и <![CDATA[ и читается уже не корректно точнее вообще не читается тем парсером... как быть? Почему такой сайт в таком формате экспортирует :( Да и с датой тот парсер по моему не справляется... сделали бы так : задаётся пользователем формат и в нём уже всё выводится...
Вобщем подскажите путь решения этой проблемы. Этот стандартный парсер вроде не подходит для чтения новостей в таком формате . Может быть кто то уже читает с этого сайта новости. | |
|
|
|
|
|
|
|
для: Fanat
(20.12.2006 в 14:01)
| | КТо нибудь сталкивался с таким или нет? Вопрос тупой чтоли? Так так и скажите... искал я в поиске но нету там такого парсера который бы смог прочитать подобный формат :( | |
|
|
|
|
|
|
|
для: Fanat
(20.12.2006 в 16:15)
| | Можно вот так сделать:
* * * * * * * * * * * * * * * * * * * *
if(ereg("<title>|<description>|<link>|<pubDate>|<guid isPermaLink=\"true\">", $Str)==True)
{
if (($Posl=StrPos($Str, "<![CDATA["))===false)
{
$Str=SubStr($Str, StrPos($Str, ">")+1);
$Posr=StrRPos($Str, "<");
}
else
{
$Str=SubStr($Str, $Posl+9);
$Posr=StrPos($Str, "]");
}
$Str=SubStr_Replace($Str, '', $Posr);
* * * * * * * * * * * * * * * * * * * *
|
| |
|
|
|
|
|
|
|
для: kasmanaft
(20.12.2006 в 17:28)
| | Хорошо посмотрю проверю. вообще мне кто-нито объяснит зачем они эту дату (<![CDATA[) вообще в содержание включают? На яндексе нет такого к примеру... почему они каких то стандартов не придурживаются :(
Я думаю можно содержание тэга цеплять регулярным выражением которое вырезает текст внутри тыга... например так...
if (preg_match("!<title>(.*?)</title>!si",$string,$ok))
echo "Тег найден, текст: $ok[1]";
else
echo "Тег не найден";
|
или так в нашем случае...
if (preg_match("!<description><![CDATA[(.*?)]</description>!si",$string,$ok))
echo "Тег найден, текст: $ok[1]";
else
echo "Тег не найден";
|
вощем будем пробовать... | |
|
|
|
|
|
|
|
для: Fanat
(21.12.2006 в 15:51)
| | CDATA позволяет избежать обработки текста, содержащего символы, которые иначе распознавались бы как разметка. Те же <b> и </b> были бы распознаны как XML теги ...
А яндексу просто нельзя давать кв. скобки (вообще-то много еще чего кроме них).
>> ... цеплять регулярным выражением которое ...
Действительно проще было бы обработать текст рег. выражением ... Но тут для каждого конкретного случая пришлось бы писать свое рег. выражение, а этот код как нечто универсальное работает :) | |
|
|
|