парсер rss: preg_match_all()

GreedyGopher

Новичок
парсер rss: preg_match_all()

В RSS есть item вида <enclosure url="ссылка на картинку" length="5000" type="image/jpeg" /> (как я понял, это массив).
Мне нужно вытащить атрибут url через парсер (нашел класс, где для остальных item используется preg_match_all()).
Помогите, а?
 

Zetruger

ivan.chistyakov.name
а почему бы не попробовать через SimpleXML
или "g php rss parser"
 

GreedyGopher

Новичок
так, это нашел:

$str = '<enclosure url="http://195.68.160.133/1/foto/3c/6e/3c6ef9ec/s_img1.jpg" length="5000" type="image/jpeg" />';
preg_match('|url="([^"]*)"|is',$str,$out);
echo $out[1];

НО! всплыла проблема, про которую даже не думал :(
вот этот код
-----
$rss_url = 'http://love.foto-forum.ru/a-rss/aa-new/sex2-on/online-on/foto-on/sex-on/country-3159/age-1/';

if ($f = @fopen($rss_url, 'r')) {
$rss_content = '';
while (!feof($f)) {
$rss_content .= fgets($f, 4096);
}
fclose($f);
}

echo $rss_content;
-----

почему то пропускает enclosure и выводит всё кроме него:
вот что получается - http://foto-forum.ru/primer.php

"ничо не понимаю" (с)

-~{}~ 05.09.07 16:59:

Автор оригинала: Zetruger
а почему бы не попробовать через SimpleXML
или "g php rss parser"
на данном этапе мне важнее разобраться самому, чем юзать что то готовое ...
 

Vladson

Сильнобухер
GreedyGopher
Чем помочь ? Регуляркой ?
Зачем если есть SimpleXML ?

А если важнее разобраться самому, то зачем вы тут ?
 

GreedyGopher

Новичок
Автор оригинала: Beavis
GreedyGopher
ну и разбирайся сам
я и разбираюсь :)

в процессе, так сказать, разбирания возникают вопросы. вопросы задаю на форум, надеясь получить внятный ответ быстрее, чем разберусь сам.

-~{}~ 06.09.07 10:24:

Автор оригинала: Vladson
GreedyGopher
Чем помочь ? Регуляркой ?
Зачем если есть SimpleXML ?

А если важнее разобраться самому, то зачем вы тут ?
с регулярным я разобрался - см. 2ую мессагу в этой теме. там же присутсвует вопрос, который стоит передо мной сейчас.
если я непонятно сформулировал - скажите, я попробую переделать.
 

Beavis

Banned
Код:
$rss_url = 'http://love.foto-forum.ru/a-rss/aa-new/sex2-on/online-on/foto-on/sex-on/country-3159/age-1/';

if ($f = @fopen($rss_url, 'r')) {
$rss_content = '';
while (!feof($f)) {
$rss_content .= fgets($f, 4096);
}
fclose($f);
}
а вот так не проще?
Код:
$rss_content = file_get_contents($rss_url);
-~{}~ 06.09.07 15:27:

и ещё объясни, зачем анализировать данные в формате XML регулярками, когда для этого есть специально придуманные технологии?
 

GreedyGopher

Новичок
Всё, разобрался :) Всем спасибо!

Автор оригинала: Beavis
и ещё объясни, зачем анализировать данные в формате XML регулярками, когда для этого есть специально придуманные технологии?
технологии - это DOM или simplexml_load_file($link_to_rss_feed) из PHP5? у меня на хостинге ни того, ни другого ...
 
Сверху