[英]How to get image from rss feed in php
链接到我的剧集图片:<itunes:image href="https://d3t3ozftmdmh3i.cloudfront.net/production/podcast_uploaded_nologo/19641917/19641917-1637668693797-44b27f4c00a16.jpg"/>
<?php
$url = "https://anchor.fm/s/75abc654/podcast/rss";
$invalidurl = false;
if(@simplexml_load_file($url)){
$feeds = simplexml_load_file($url);
}else{
$invalidurl = true;
echo "<h2>Invalid RSS feed URL.</h2>";
}
$i=0;
if(!empty($feeds)){
$site = $feeds->channel->title;
$sitelink = $feeds->channel->link;
foreach ($feeds->channel->item as $item) {
$title = $item->title;
$link = $item->link;
$description = $item->description;
$mp3 = $item->enclosure['url'];
// $season= $item->itunes:season;
$image = $item->itunes->image->href;
$postDate = $item->pubDate;
$pubDate = date('D, d M Y',strtotime($postDate));
if($i>=5) break;
?>
在这段代码中$image = $item->image->href;
没有得到图像 url.. 我不知道如何得到图像 url,请帮我得到图像 URL。 .. 提前致谢
您正在处理 XML / RSS 文档中的namespaced
节点,因此您应该使用namespace
来帮助识别感兴趣的节点。 我从未使用simpleXML
,因此只能提供使用常规DOMDocument和DOMXPath的替代解决方案
正如我所说,我从未使用过SimpleXML ,但我注意到它有XPath支持,因此您可以调整下面的代码
这里的技巧是register
适当的命名空间,以便 XPath 表达式可以使用它。
$url='https://anchor.fm/s/75abc654/podcast/rss';
$dom=new DOMDocument;
$dom->load( $url );
$xp=new DOMXPath( $dom );
$xp->registerNamespace('itunes','http://www.itunes.com/dtds/podcast-1.0.dtd');
$img=$xp->query('//channel/itunes:image');
if( $img )echo $img->item(0)->getAttribute('href');
以上将简单 output
https://d3t3ozftmdmh3i.cloudfront.net/production/podcast_uploaded_nologo/19641917/19641917-1637668693797-44b27f4c00a16.jpg
为了稍微扩展上述内容并注册 RSS 提要中使用的其他命名空间,然后在 DOM 中查询命名空间元素,也许以下内容将有助于阐明如何使用命名空间。 $tags
数组只是从源文件中随机选择的元素,这些元素将用于构造 XPath 表达式——其中一些使用dc
或atom
命名空间,而另一些则没有。
$url='https://anchor.fm/s/75abc654/podcast/rss';
$dom=new DOMDocument;
$dom->load( $url );
$xp=new DOMXPath( $dom );
$xp->registerNamespace('dc','http://purl.org/dc/elements/1.1/');
$xp->registerNamespace('itunes','http://www.itunes.com/dtds/podcast-1.0.dtd');
$xp->registerNamespace('atom','http://www.w3.org/2005/Atom');
$tags=array('title','description','author','link','atom:link','/item/title','/item/dc:creator','/item/pubDate','/item/itunes:summary');
foreach( $tags as $tag ){
$expr=sprintf('//%s',$tag );
$col=$xp->query( $expr );
if( $col && $col->length > 0 ){
foreach( $col as $node )printf('%s -> %s<br />',$tag,trim($node->nodeValue));
}
}
这将打印:
title -> Espada Podcast
title -> Espada Podcast
title -> Discussion about Doremon | ft:Ryuk,Ryomen
title -> Espada's Trailer
description -> Our Podcast Trailer
description ->
We discussed about doremon .. Support us on Instagram
description ->
Adula oonum illa keela potrunga
author -> Espada Podcast
link -> http://espadapodcsat.ml
link -> http://espadapodcsat.ml
link -> https://anchor.fm/espada-podcast8/episodes/Discussion-about-Doremon--ftRyuk-Ryomen-e1at2fu
link -> https://anchor.fm/espada-podcast8/episodes/Espadas-Trailer-e1asvh8
atom:link ->
atom:link ->
/item/title -> Discussion about Doremon | ft:Ryuk,Ryomen
/item/title -> Espada's Trailer
/item/dc:creator -> Espada Podcast
/item/dc:creator -> Espada Podcast
/item/pubDate -> Sat, 27 Nov 2021 13:29:47 GMT
/item/pubDate -> Sat, 27 Nov 2021 10:56:21 GMT
/item/itunes:summary ->
We discussed about doremon .. Support us on Instagram
/item/itunes:summary ->
Adula oonum illa keela potrunga
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.