簡體   English   中英

PHP解析RSS Feed

[英]PHP Parsing RSS Feed

我要去一個URL,它只是一個RSS提要,現在我想解析代碼以返回某些信息(圖像URL)。 我已經找到了我的信息從哪里開始,但是直到我的定界字符我才弄清楚如何閱讀。 我最終希望將圖像網址保存到我的iPhone應用程序可以引用的文本文件中。

基本上,我想轉到url ..掃描html代碼以查找發布的圖像url,然后將其返回到文本文件。

這是我當前的代碼

     <?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>

如有任何建議,我將不勝感激。 謝謝!

$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

一旦兼有兩個位置,您就需要從$ data $ x(media的起始位置:content)+搜索參數中的字符數和$ 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粘貼的確切代碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM