Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从RSS源获取图像URL_Php_Rss_Feed - Fatal编程技术网

Php 从RSS源获取图像URL

Php 从RSS源获取图像URL,php,rss,feed,Php,Rss,Feed,我想从RSS提要获取图像URL,但我只能获取标题、URL链接和描述。这是提要链接“”。这是我的代码: function parse(){ $rss = simplexml_load_file($this->feed); $rss_split = array(); foreach ($rss->channel->item as $item) { $title = (string) $item->title; // Title $link =

我想从RSS提要获取图像URL,但我只能获取标题、URL链接和描述。这是提要链接“”。这是我的代码:

function parse(){
$rss = simplexml_load_file($this->feed);    
$rss_split = array();   
foreach ($rss->channel->item as $item) {    
  $title = (string) $item->title; // Title
  $link   = (string) $item->link; // Url Link
  $description = (string) $item->description; //Description           
  $rss_split[] = '
    <div>
        <a href="'.$link.'" target="_blank" title="" >'.$title.'</a>
        <hr>
    </div>
    ';
}
return $rss_split;
}
函数解析(){
$rss=simplexml\u load\u文件($this->feed);
$rss_split=array();
foreach($rss->channel->item as$item){
$title=(字符串)$item->title;//title
$link=(字符串)$item->link;//Url链接
$description=(字符串)$item->description;//description
$rss_split[]='

'; } 返回$rss_split; }
据我所知,提要中没有图像元素。如果你需要使用
html\u entity\u decode
然后用类似php
DOMDocument
类的东西解析图像标签,那么图像就在
description

还有一个带有标签
缩略图的图像。使用它,然后使用
element->attributes()
返回的数组检索
url
属性

您提供的xml真的很难缩小…

规范是明确的。
image
元素可用于在频道级别向提要添加图像:

指定可以与一起显示的GIF、JPEG或PNG图像 频道


以下是获取图像src的代码:

$description = (string) $item->description; //Description
$html = $description;
$doc = new DOMDocument();
@$doc->loadHTML($html);
$tags = $doc->getElementsByTagName('img');
echo $tags[0]->getAttribute('src');
一些额外的东西:

$description = (string) $item->description; //Description
$html = $description;
$doc = new DOMDocument();
@$doc->loadHTML($html);
$tags = $doc->getElementsByTagName('img');
echo $tags[0]->getAttribute('src');
要从描述中删除图像,请执行以下操作:

$description = preg_replace("/<img[^>]+\>/i", "(image) ", $description); 

有没有办法只选择图片url?我在上面解释过了。如果您不知道如何迭代数组以查找要查找的密钥,那么您可能应该进行一些谷歌搜索。为完整起见,您所追求的是
$arr=element->attributes()
$arr['url']
。看看吧,它会帮你的。你必须做研究。不要期望我们为你做你的工作——只为你指出正确的方向。实际上,提要中有一个图像元素。看我的答案。对不起,我真的很笨,我不能这样做。请你把它写下来好吗!我认为你完全没有抓住重点,伙计。RSS源中已经有一个图像。OP正试图把它弄出来,这就是我所理解的。因为它在元素中,所以他所做的一切都适用。
substr($description,0,200); //200 charcters