从RSS中提取值

时间:2016-02-20 18:00:42

标签: php xml rss

我从XML / RSS获取值时遇到一些奇怪的问题 当我使用此代码时:

$url = file_get_contents('https://itunes.apple.com/pl/rss/topsongs/limit=30/genre=7/xml');
$xml = new SimpleXMLElement($url);
$data = $xml->entry;
for($i = 0; $i < count($data); $i++){
    $title = $data[$i]->title;
    $title = preg_replace('/[^A-Za-z0-9\-]/', '-', $title);
    $title = preg_replace('/-+/', '-', $title);
    $title2 = $data[$i]->title;
    $title2 = preg_replace('/[^A-Za-z0-9\-]/', ' ', $title);
    $title2 = preg_replace('/-+/', ' ', $title);
    $item = $data[$i]->content;
    $a = preg_match_all('#src="(.*?)"#',$item,$isi);
    $img = $isi[1][0];
    echo '<li><figure><img class="portfolio-images" src="'.$img.'" alt="img01"><figcaption><a href="czasoumilacz/'.$title.'.html">Ustaw na czasoumilacz '.$title2.'</a></figcaption></figure></li>';
}

效果很好,展示项目 - 标题和图片。但是,当我试图显示最新的歌曲不能正常工作时......

以下是无效代码:

$url = file_get_contents('https://itunes.apple.com/WebObjects/MZStore.woa/wpa/MRSS/newreleases/sf=143441/limit=100/explicit=true/rss.xml');
$xml = new SimpleXMLElement($url);
$data = $xml->entry;
for($i = 0; $i < count($data); $i++){
    $title = $data[$i]->title;
    $title = preg_replace('/[^A-Za-z0-9\-]/', '-', $title);
    $title = preg_replace('/-+/', '-', $title);
    $title2 = $data[$i]->title;
    $title2 = preg_replace('/[^A-Za-z0-9\-]/', ' ', $title);
    $title2 = preg_replace('/-+/', ' ', $title);
    $item = $data[$i]->content;
    $a = preg_match_all('#src="(.*?)"#',$item,$isi);
    $img = $isi[1][0];
    echo '<li><figure><img class="portfolio-images" src="'.$img.'" alt="img01"><figcaption><a href="czasoumilacz/'.$title.'.html">Ustaw na czasoumilacz '.$title2.'</a></figcaption></figure></li>';
}

有什么问题? 第一个代码网址显示FEED http://prntscr.com/a5sjr8 第二个节目显示RSS http://prntscr.com/a5sk3l

1 个答案:

答案 0 :(得分:0)

我正在提取到JSON,在您的情况下,您可以根据您的要求提供代码。

用法: Array#reduce()

http://(CDN)/(Cache)/(Machine id)/(Logical volume, Photo)