为了账号安全,请及时绑定邮箱和手机立即绑定

我正在尝试从 media:content 标签 RSS FEED 中检索图像 URL 并将其存储在

我正在尝试从 media:content 标签 RSS FEED 中检索图像 URL 并将其存储在

PHP
智慧大石 2023-03-04 17:09:09
这是 RSS 提要的一部分<item>    <title>        <![CDATA[        Japan backs coronavirus drug; Moscow keeps lockdown: Live updates        ]]>    </title>    <description>        <![CDATA[        <div><img src="https://www.aljazeera.com/mritems/Images/2020/5/9/b738bc043efb400296eff230bcfd444f_18.jpg" style="width: 100%;"><div>Over 275,000 have died worldwide while more than 1.3 million have recovered as countries weigh easing of lockdown rules.</div></div>        ]]>    </description>    <link>        https://www.aljazeera.com/news/2020/05/japan-backs-coronavirus-drug-moscow-lockdown-live-updates-200508232257831.html    </link>    <guid isPermaLink="false">592c6747e057269acbb31f383c9c110d</guid>    <dc:creator>        <![CDATA[ AJENews ]]>    </dc:creator>    <pubDate>Sat, 09 May 2020 01:18:50 GMT</pubDate>    <media:content medium="image" url="https://www.aljazeera.com/mritems/Images/2020/5/9/b738bc043efb400296eff230bcfd444f_18.jpg"/></item>这里通过 DOMDocument() 加载 rss 提要内容并定义数组以保存内容并使用 getElementsByTagName    <?php       $rss = new DOMDocument();        $rss->load('https://rss.app/feeds/7e40Pu6EiBz9ourE.xml');        $feed = array();        foreach ($rss->getElementsByTagName('item') as $node) {            $item = array (                 'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,                'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,                'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,                'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,                //'dcUri' => $rss->lookupNamespaceUri('dc'),                //'authors' => $node->getElementsByTagNameNS($item[dcUri], 'creator'),                //'cre' => $item[authors]->item(0)->nodeValue,                );            array_push($feed, $item);        } 在 mysql 数据库中存储数组内容的代码,我已成功保存(标题、des、日期)
查看完整描述

1 回答

?
慕娘9325324

TA贡献1783条经验 获得超5个赞

这是一个如何提取图像 URL 的最小可重现示例。

  • 遍历所有节点

  • 为所有子节点嵌套一个循环

  • 获取特定类型所需的属性

$rss = new DOMDocument();

$rss->load('https://rss.app/feeds/7e40Pu6EiBz9ourE.xml');

$feed = array();

foreach ($rss->getElementsByTagName('item') as $node) {

    foreach($node->childNodes as $childNode) {

        if($childNode->tagName == 'media:content') {

            var_dump($childNode->getAttribute('url'));

        }

    }

}

字符串(90)” https://www.aljazeera.com/mritems/Images/2020/5/10/1024c76c23214805817eff50f9eb45c0_18.jpg “
字符串(90)” https://www.aljazeera.com/mritems/Images/2020/ 4/24/d8cba9945a604b88a1dbb413197d0db0_18.jpg “
字符串(90)” https://www.aljazeera.com/mritems/Images/2020/5/10/bb5f767a4baf4d4098cf766f71a7b347_18.jpg “
字符串(90)” https://www.aljazeera. com/mritems/Images/2020/5/10/6adcf99eaeda40bea68a519d95ad9fa5_18.jpg “
字符串(90)” https://www.aljazeera.com/mritems/Images/2020/3/23/4cb97ca92a4543799b3b0c83e8d6df3f_18.jpg “

查看完整回答
反对 回复 2023-03-04
  • 1 回答
  • 0 关注
  • 134 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号