PHP解析RSS源

时间:2014-12-03 03:23:04

标签: php parsing rss

我要去一个url,这只是一个rss feed,现在我想解析代码以返回某些信息(图片网址)。我已经找到了我的信息开始的地方但我无法弄清楚如何阅读直到我的划界角色;这是一个“。我最终希望将图片网址保存到我的iphone应用程序可以引用的文本文件中。

基本上,我想去网址..扫描html代码以获取发布的图片网址,并将其返回到文本文件。

这是我目前的代码

     <?php

    $url = 'http://www.actionsportsinc.com/p200285048/recent.rss';

$data = file_get_contents( $url );

// just a test to compare with RSS to see whats being pulled
$file = 'iphoneApp.txt';

// Write the contents back to the file
file_put_contents($file, $data);



if(strpos($data, '<media:content url="') !== FALSE)
{

    $url = "";
    while (! feof($file) && (fgetc($file) != '"')) {
        $url = $url . fgetc($file);
    }

        echo $url; // just trying to print out one url right now to make sure it is actually working... would like to scan entire rss until EOF

}


?>

以下是rss的示例

<media:content url="http://www.actionsportsinc.com/img/s12/v173/p468059272-4.jpg" type="image/jpeg" medium="image" width="800" height="533"/>
<media:title>D1411HMSF134189JRN</media:title>

我很感激你们所有人的建议。谢谢!

1 个答案:

答案 0 :(得分:1)

$pos = 0
while($x = strpos($data, '<media:content url="', $pos) !== FALSE)
{
    $y = strpos($data, '" type="', $pos)
    $imgurl = substr($data, $x+'num of chars in <media:content url="', $y); 
    $pos = $x
    //write imgurl to whatever file you like
}

未经测试的代码我确信它存在语法问题,但如果您不想使用已经创建的xml解析器,则应该让您需要这样做

如果它找到了一个实例,它将从$ pos开始迭代$ data

一旦它有两个位置itll substr你需要从$ data $ x(媒体的起始位置:内容)+你的搜索参数中的字符数和$ y结束的开始位置网址......

编辑 - 显然它确实不像那里的$ x那样

$url = 'http://www.actionsportsinc.com/p200285048/recent.rss';

$data = file_get_contents( $url );
$pos = 0;
while(strpos($data, '<media:content url="', $pos) !== FALSE)
{
    $x = strpos($data, '<media:content url="', $pos) ;
    $y = strpos($data, ' type="image', $x);
    $imgurl = substr($data, $x+20, $y - 49 - $x); 
    $pos = $x + 1;
    echo $imgurl . "|| <br>";
    //write imgurl to whatever file you like
}

这是直接从我的npp

粘贴的确切代码
相关问题