尝试仅解析 RSS 源中的图像

2023-12-11

首先,我是一个php新手。我已经查看了问题和解决方案here。然而,对于我的需要,解析对各种文章的深入程度还不够。

我的 rss feed 的一小部分内容如下:

 <channel>
 <atom:link href="http://mywebsite.com/rss" rel="self" type="application/rss+xml" />
 <title>My Web Site</title>
 <description>My Feed</description>
 <link>http://mywebsite.com/</link>

 <image>
 <url>http://mywebsite.com/views/images/banner.jpg</url>
 <title>My Title</title>
 <link>http://mywebsite.com/</link>
 <description>Visit My Site</description>
 </image>

 <item>
 <title>Article One</title>
 <guid isPermaLink="true">http://mywebsite.com/details/e8c5106</guid>
 <link>http://mywebsite.com/geturl/e8c5106</link>
 <comments>http://mywebsite.com/details/e8c5106#comments</comments>     
 <pubDate>Wed, 09 Jan 2013 02:59:45 -0500</pubDate> 
 <category>Category 1</category>    
 <description>
      <![CDATA[<div>
      <img src="http://mywebsite.com/myimages/1521197-main.jpg" width="120" border="0"  />  
      <ul><li>Poster: someone's name;</li>
      <li>PostDate: Tue, 08 Jan 2013 21:49:35 -0500</li>
      <li>Rating: 5</li>
      <li>Summary:Lorem ipsum dolor </li></ul></div><div style="clear:both;">]]>
      </description>
 </item> 
 <item>..

我想要解析的图像链接是每个图像内部的链接Item > 描述

我的 php 文件中的代码如下:

     <?php
 $xml = simplexml_load_file('http://mywebsite.com/rss?t=2040&dl=1&i=1&r=ceddfb43483437b1ed08ab8a72cbc3d5');
 $imgs = $xml->xpath('/item/description/img');
 foreach($imgs as $image) {
      echo $image->src;
 }
 ?>

有人可以帮我弄清楚如何配置上面的 php 代码吗?

这也是一个非常新手的问题...一旦我得到结果图像网址,如何在我的 html 上连续显示图像?

非常感谢!!!

Hernando


The <img>RSS 提要中的标签实际上并不是 XML 文档的元素,与此站点上的语法突出显示相反 - 它们只是<description>恰好包含字符的元素< and >.

字符串<![CDATA[告诉 XML 解析器从那里直到它遇到的所有内容]]>被视为原始字符串,无论它包含什么。这对于在 XML 中嵌入 HTML 非常有用,因为 HTML 标记不一定是有效的 XML。它相当于转义整个 HTML(例如,使用htmlspecialchars) 所以这样<img>标签看起来像&lt;img&gt;。 (我进入另一个答案的更多技术细节.)

所以从RSS中提取图像需要两个步骤:首先,获取每个图像的文本<description>,然后,找到所有<img>该文本中的标签。

$xml = simplexml_load_file('http://mywebsite.com/rss?t=2040&dl=1&i=1&r=ceddfb43483437b1ed08ab8a72cbc3d5');

$descriptions = $xml->xpath('//item/description');
foreach ( $descriptions as $description_node ) {
    // The description may not be valid XML, so use a more forgiving HTML parser mode
    $description_dom = new DOMDocument();
    $description_dom->loadHTML( (string)$description_node );

    // Switch back to SimpleXML for readability
    $description_sxml = simplexml_import_dom( $description_dom );

    // Find all images, and extract their 'src' param
    $imgs = $description_sxml->xpath('//img');
    foreach($imgs as $image) {
        echo (string)$image['src'];
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试仅解析 RSS 源中的图像 的相关文章

  • cURL 错误 28:5001 毫秒后解析超时

    我使用 WordPress 最近将我的网站从 cpanel 主机移动到带有 directadmin 面板的 Linux 服务器 转账后立即发现客户在通过EDD插件下载时出现以下错误 cURL 错误 28 5001 毫秒后解析超时 我也遇到了
  • 这段 PHP 代码是否会导致其他人的 Apache 崩溃?

    preg match all a str repeat a 1000 matches 编辑 稍微更改正则表达式以使其更简单 同时仍然崩溃 我在 PHP 5 3 5 和 Apache 2 0 上运行它 它使服务器崩溃 如果我将 339 更改为
  • PHP - 简单嵌套无序列表 (UL) 数组

    我在 stackoverflow 上看到了这个嵌套 UL 数组问题的一些变体 但我认为我的比其他问题更简单 我正在寻找一个简单的数组循环 它允许无限量的主题 父项 和无限量的项目 子项 例如 ul li Topic li ul li Ite
  • 如何使用 OOP 从另一个 .php 到另一个 .php 的类使用 $db?

    我是 OOP PHP 的新手 自从开始 Web 开发以来我一直在使用过程 API 所以我很难迁移到 OOP 假设我有这四个 php文件和结构如下 连接 db php
  • MySQL:删除包含特定参数且早于一天的行[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在使用 mysql 为我的网站创建一个登录系统 它在基于订阅的系统上运行 如果参数 premium 等于 1 DAY 如果它早于一
  • 如何将这种奇怪的字符串解码为UTF-8? (PHP)

    所以我有 u041E u043B u0435 u0433 20 u042F u043A如何将其保存为真正的 UTF 8 或 对我来说更好的是 HTML 实体 这就是 JavaScriptescape 格式 它与 URL 编码类似 但不兼容
  • 我可以为我的记录器使用静态类吗?

    最近我被告知静态类 方法是邪恶的 以我的 Logger 类为例 class Logger private static logs array public static function add msg self logs msg publ
  • PHP - 可以将成员函数分配给变量吗? [复制]

    这个问题在这里已经有答案了 在 PHP5 中 变量可以作为函数进行计算1 http php net manual en functions variable functions php例如 function myFunc echo what
  • 数组和foreach

    posts array message gt this is a test message foreach posts as post echo post message 为什么上面的代码只输出message中的第一个字母 t Thanks
  • 替换字符串中的重复字符串

    我正在尝试查找 并替换 字符串中重复的字符串 我的字符串可以是这样的 Lorem ipsum dolor 坐阿梅特坐 阿梅特坐 阿梅特坐诺斯特鲁德实习amit situllamco Laboris nisi ut aliquip ex ea
  • Woocommerce - 检查产品是否是在 60 天前创建的

    我想检查 Woocommerce 产品是否是在不到 60 天前创建的 如果属实 请做点什么 我正在使用官方 Woocmerce 功能获取在后端 管理中创建产品的日期 product gt get date created 我的代码部分有效
  • Magento - 将媒体库属性添加到产品平板中

    如何将 media gallery 属性类型添加到产品平面表中 以便可以在产品列表中使用它 可以通过将 用于产品列表 定义为 是 来添加它们 完成此操作后 您将需要重新索引产品平面 编辑 请参阅解决方案以获取最终答案 Source 我可以向
  • 如何正确使用 Bearer 代币?

    我正在制作一个授权系统PHP 我遇到了传递 JWT 令牌的承载方案 我阅读了 RFC 6750 1 我有以下疑问 这如何提高安全性 成功授权和登录后 服务器在其主体中使用 JWT 令牌响应客户端 现在当客户端发出另一个请求时 我不清楚如何实
  • Codeigniter 未连接到 SQL Server

    我正在尝试使用 CodeIgniter 连接到 SQL 服务器 如果我使用 sqlsrv 驱动程序 我会收到致命错误消息 如果我使用 odbc 驱动程序 我会收到 无法使用提供的设置连接到数据库服务器 错误消息 有谁知道如何解决这个问题 我
  • UNION SELECT - 循环?还是单个查询?

    如果我使用 UNION 从数据库中进行多个 SELECT 是否被视为一个查询 或多个查询 SELECT column name s FROM table1 UNION SELECT column name s FROM table2 这是否
  • 比在配置文件中以纯文本形式存储 mysql 密码更好的方法吗?

    许多 PHP 程序要求用户将 mysql 密码以纯文本 字符串或常量 形式存储在应用程序根目录的配置文件中 这一直困扰着我 这么多年过去了 还有更好的方法吗 到目前为止 我已经提出了两个最小的安全提升方案 使用 htaccess 中的规则使
  • 重定向至 2 页

    我有一个 PHP 页面 我想先将其重定向到一个页面 例如 google com 然后再重定向到另一个页面 例如 bing com 为此 我使用以下方法 header Location http google com header Locat
  • php SimpleXML 属性丢失

    我这里有以下 xml 文档 编辑 示例见下文 我正在使用 php SimpleXML 将其转换为对象来读取它 xmlContent file get contents path test xml tablesRaw new SimpleXM
  • 发帖到 FB 粉丝专页时如何解决“不支持的发帖请求”?

    我有一个可以执行 ff 的脚本 发布指向用户时间线 墙的链接 以管理员身份发布指向用户页面的链接 发布到用户的个人资料页面工作正常 然而 发布到粉丝页面的行为很奇怪 我我能够发帖但我回来了 不支持的发布请求 错误 我已经搜索过这个问题并尝试
  • Laravel 搜索路由和控制器

    我正在构建我的第一个基本 Laravel Web 应用程序 在学习了一些教程之后 这是我自己修改的第一个应用程序 我在路由到控制器然后获取正确的网址时遇到了一些麻烦 理想情况下 此时我应该只有两条路线 and user 在主页上 您可以通过

随机推荐

  • 如何在 Google Drive Api v3 中进行部分下载?

    文档说here您需要使用 Range 标头Range bytes 500 999 My code def downloadChunkFromFile file id start length headers Range bytes form
  • 以同样的方式打乱多个 javascript 数组

    我有两个数组 var mp3 sing mp3 song mp3 tune mp3 jam mp3 etc var ogg sing ogg song ogg tune ogg jam ogg etc 我需要对两个数组进行洗牌 以便它们以相
  • 检索 AngularJS 应用程序名称

    如何在 AngularJS 中检索当前应用程序的名称 我的意思是ng app foo value 我搜索了 API 文档 但找不到任何对此的参考 我的解决方案实际上我已经找到了这样的解决方案 angular element ng app a
  • 有没有办法在一定的空闲时间后将 GKE 集群的大小调整为 0 个节点?

    我有一个 GKE 集群 我希望它位于 0 个节点 扩展到 3 个节点来执行任务 然后在一定的空闲时间后 缩小到 0 个节点 有没有办法做到这一点 由于集群中运行着系统 Pod GKE 集群永远无法缩小到 0 在 kube system 命名
  • 按多个属性对 js 对象进行分组

    在下面的示例中 我有一个对象数组 我按其属性中的 2 个对它们进行分组 基于https stackoverflow com a 40142591 var arr id 1 tags main yearCode 2018 id 2 tags
  • 如何键入深度嵌套的字典和列表结构[重复]

    这个问题在这里已经有答案了 在给定的 d d1 1 2 d2 this is tricky tough 1 2 me 问题要求我打印 me 我试图理解字典中给定的键和值来查找基于该键的任何关系 但无法这样做 在进一步潜水之前是否应该了解某些
  • 证明内容 flex-end 不适用于 IE

    Flex end适用于chrome和firefox 但不适用于ie 请执行以下代码 flex container display flex flex wrap nowrap background color DodgerBlue flex
  • 如何使用 JavaScript 和 PHP 将画布图像保存到服务器?

    我正在努力使用 JavaScript 和 PHP 将画布图像保存到服务器 我已经尝试了 JS 和 PHP 的多个示例 但总是失败 关于如何将图像数据发送到 PHP 脚本 base64 blob FormData 的建议存在冲突 并且我不确定
  • 简单的 Html DOM 缓存

    我正在使用 Simple HTML DOM 来抓取 经许可 一些网站 我基本上抓取了大约 50 个不同网站的统计数据 这些数据每天更新大约四次 正如您可以想象的那样 进行抓取需要时间 因此我需要通过进行一些缓存来加快该过程 我的愿景是 DA
  • 使用相当于 AutoFixture 'With' 的匿名值进行广义 Func 包装

    在基于 AutoFixture 的测试中 我尝试尽可能清晰地表达以下内容 当我经过时
  • jquery根据选择值填充表中的文本输入

    我有一个表单 其中包含一个名为 Client ID 的选择以及一些其他文本输入 我需要的是 当用户选择 Client ID 时 我的字段 Address1 Address 2 等应该填充数据库查询的结果 如下所示 SELECT Addres
  • 拟合回归曲面的 3D 图

    我正在尝试制作 3D 图表来绘制拟合回归曲面 我见过以下例子 使用 Matplotlib 在 3d 中绘制线性模型 将散点图与曲面图相结合 3 维数据的最佳拟合曲面 然而 第一个非常过时 不再工作 第二个是相关的 但我在生成值时遇到了一些麻
  • swift 中的 kCGImageAlphaNone 未解析的标识符

    我正在尝试使用 Swift 中的 CoreImage 将图像 纹理 对于 SpriteKit 转换为灰度 我找到了这个答案 https stackoverflow com a 17218546 836501我尝试将其转换为适用于 iOS7
  • 如何从 ASPX.VB 函数内部调用 ASSX?

    我需要从我用 ASHX 制作的 API 中获取一个值 通常它是从 javascript 调用的 但我需要在 ASP NET 中正确调用它 我认为这应该不是问题 但我不确定语法 那么你有几个选择 您可以将 ASHX 中的代码重构为共享库中的代
  • 从 SQL Server 的 XML 执行计划中提取数据

    我的最终目标是从缓存的执行计划中自动提取所有引用的列 这将帮助我们跟踪我们计划的 SSRS 报告集使用的所有列 感兴趣的 XML 数据如下所示
  • 在flutter中拖动widget时如何实现定位线?

    我试图在拖动时获取定位线 紫色线 请参阅该附件以了解有关该问题的更多信息 线条是用canvas drawPoints 在 和 的paint 方法 您可以更改它来绘制虚线 现在 带有黑色实线 它看起来像这样 class FooResizer
  • Canvas getImageData 和 putImageData 部分加载图像

    这是我的代码 我正在上传图像并使用如下 gt var canvas document createElement canvas gt var context canvas getContext 2d gt context drawImage
  • C++ 全局变量和初始化顺序

    比方说 我有以下简单的代码 Main cpp include A h For several reasons this must be a global variable in the project A a1 int tmain int
  • 按组前缀旋转更长的时间

    我需要按列字符串前缀分组更长的时间 下面的玩具示例有两个组 A 和 B 但我需要一个针对任意数量的前缀组的通用 tidyverse 解决方案 toy df set seed 1 df lt data table date rep seq a
  • 尝试仅解析 RSS 源中的图像

    首先 我是一个php新手 我已经查看了问题和解决方案here 然而 对于我的需要 解析对各种文章的深入程度还不够 我的 rss feed 的一小部分内容如下