PHP 简单 HTML DOM 解析器 - RSS 中的链接元素

2023-12-10

我刚刚开始使用 PHP Simple HTML DOM Parser (http://simplehtmldom.sourceforge.net/)并且在解析 XML 时遇到一些问题。

我可以完美地解析 HTML 文档中的所有链接,但无法解析 RSS 提要(XML 格式)中的链接。例如,我想解析来自的所有链接所以我使用这段代码:

$content = file_get_html('http://www.bing.com/search?q=ipod&count=50&first=0&format=rss');

foreach($content->find('item') as $entry)
{
$item['title']     = $entry->find('title', 0)->plaintext;
$item['description']    = $entry->find('description', 0)->plaintext;
$item['link'] = $entry->find('link', 0)->plaintext;
$parsed_results_array[] = $item;
}

print_r($parsed_results_array);

该脚本解析标题和描述,但链接元素为空。有任何想法吗?我的猜测是“link”是保留字之类的,那么我如何让解析器工作呢?


我建议您使用正确的工具来完成这项工作。使用SimpleXML: 另外,它是内置的:)

$xml = simplexml_load_file('http://www.bing.com/search?q=ipod&count=50&first=0&format=rss');
$parsed_results_array = array();
foreach($xml as $entry) {
    foreach($entry->item as $item) {
        // $parsed_results_array[] = json_decode(json_encode($item), true);
        $items['title'] = (string) $item->title;
        $items['description'] = (string) $item->description;
        $items['link'] = (string) $item->link;
        $parsed_results_array[] = $items;
    }
}

echo '<pre>';
print_r($parsed_results_array);

应该产生类似的结果:

Array
(
    [0] => Array
        (
            [title] => Apple - iPod
            [description] => Learn about iPod, Apple TV, and more. Download iTunes for free and purchase iTunes Gift Cards. Check out the most popular TV shows, movies, and music.
            [link] => http://www.apple.com/ipod/
        )

    [1] => Array
        (
            [title] => iPod - Wikipedia, the free encyclopedia
            [description] => The iPod is a line of portable media players designed and marketed by Apple Inc. The first line was released on October 23, 2001, about 8½ months after ...
            [link] => http://en.wikipedia.org/wiki/IPod
        )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 简单 HTML DOM 解析器 - RSS 中的链接元素 的相关文章

随机推荐

  • 对 RStudio 中的“工具未安装或不在路径中:ghostcript”警告进行故障排除

    警告消息 In has crop tools Tool s not installed or not in PATH ghostcript gt As a result figure cropping will be disabled 当一
  • C# 中四舍五入到小数点后两位

    我有一个十进制数 如下所示 189 182 我想圆这个up精确到小数点后两位 因此输出如下 189 19 数学类或其他类中是否有内置功能 我知道存在上限函数 但这似乎并没有达到我想要的效果 它会四舍五入到最接近的整数 所以在这种情况下只是
  • 新建和覆盖之间的区别

    想知道以下之间有什么区别 情况1 基类 public void DoIt 情况1 继承类 public new void DoIt 情况2 基类 public virtual void DoIt 情况2 继承类 public overrid
  • 从 S3 文档中获取特定字段

    我在应用程序中使用 AWS Java SDK 与保存 JSON 格式对象的 S3 存储桶之一进行通信 文档可能如下所示 a dataA b dataB c dataC d dataD e dataE 现在 对于某个文档来说document1
  • 静态类模板成员:“sizeof”对不完整类型的无效应用

    这是我试图创建的池对象的最小工作示例 显然功能不完整 我只是想说明我遇到的问题 我有一个类模板Storage其中包含aligned storage template
  • 在启用 OpenCL 的情况下构建 OpenCV

    我正在尝试在 OpenCV 上启用 OpenCL 来运行简单的代码 我已经阅读了 OCL 文档的介绍 并且按照说明 我使用以下标志构建了 opencv WITH OPENCL ON 我通过执行 cmake DWITH OPENCL ON 来
  • Opa:如何操作字符串映射(和其他映射)

    我想创建一个 Stringmap 在其中添加一些值 然后向其传递一些函数 我试过这个 import stdlib core map mymap StringMap empty mymap rabbit 12 function addmap
  • 需要在 codeigniter 中动态分配 $config['base_url'] 吗?

    我需要分配 config base url 动态地在config php每次 url 命中时 有什么解决办法吗 通常 我们使用 config base url 来存储域名 为什么你需要在每次刷新时存储它 如果你想让它在不同的域上动态 尝试以
  • 如何使用 SparkAR 网络模块获取 JSON

    我想使用 SparkAR 的网络模块从 URL 获取数据 并显示它 我尝试了 Spark AR 文档中的示例 但效果不大 https developers facebook com docs ar studio reference clas
  • Tomcat 9 中需要两个共享数据库的服务

    我想在两个端口 8080 8181 上使用不同的代码库运行两个tomcat服务 但共享相同的数据库资源 当我这样做时 我得到 javax naming NameNotFoundException 名称 comp env jdbc mydb
  • HTTP 302 在 IE 中失败的服务器之间重定向,在 FF 和 Chrome 中工作

    在构建通过第三方服务器重定向进行身份验证的登录系统时 我在 IE 中遇到空白屏幕 据说浏览器在失败时会在我的服务器上请求返回页面 登录是这样的 用户请求http www myserver com 并返回 302 重定向到http www m
  • 创建两列布局 - html/css 语义

    我想创建一个非常简单的具有 2 列的液体布局 左边的一列将具有固定的宽度 右边的一列将取决于窗口大小 布局将包含 4 个元素 页眉 导航 内容和页脚 根据 HTML5 元素的语义 我有几个问题 这是代码 div div
  • 在 android 的文本视图中创建可点击的链接

    我有一些主题标签TextView以 开头 示例 one two 你好世界 三 我希望这些哈希标签可单独单击并打开一个活动并在该活动中获取此文本 因此 这些哈希值充当链接并打开活动 此外 标签不是固定的 意味着可以是任何文本 还将哈希标签的颜
  • 导出 dll 中的模板类未解析的外部

    我正在尝试创建一个导出模板类的类库 dll 我有同一个类的本地版本 这一定是巧合 但它工作正常 我知道这并没有多大意义 显然有些地方出了问题 库dll中导出的模板类为 template
  • 未在预期位置捕获 LINQ 查询的异常

    我正在使用 LINQ 查询将输入字符串解析为类 我已将查询包装在 try catch 块中以处理解析错误 问题是异常没有在我期望发生的点被捕获 它仅在生成的对象 parsedList 被访问 我是否误解了 LINQ 的工作原理或异常的工作原
  • innerHTML 从图像标签中删除结束斜杠

    这很奇怪 这是一个快速测试功能 function test function code img src http www myimage com img jpg alt image alert code document getElemen
  • Spring MVC 控制器中的 JSON 参数

    I have RequestMapping method RequestMethod GET ResponseBody SessionInfo register UserProfile profileJson 我这样传递 profileJs
  • 编辑 GtkWidget 属性/特性

    在大多数 pygtk 小部件页面中 它们包含名为 属性 属性 和 样式属性 的部分 如何更改这些特性和属性 改变属性的方法有以下三种 正如 zheoffec 的回答一样 使用set property 函数 或set style proper
  • ASP.NET MVC 模式

    我对 MVC 相当陌生 但在使用它 MVC 3 Razor 之后 我就着迷了 我有几个问题 1 开发 MVC 应用程序的最佳或最广泛使用的模式是什么 存储库 DDD UOW 2 我正在使用实体框架 4 所以有人可以向我解释一下或者给我指出一
  • PHP 简单 HTML DOM 解析器 - RSS 中的链接元素

    我刚刚开始使用 PHP Simple HTML DOM Parser http simplehtmldom sourceforge net 并且在解析 XML 时遇到一些问题 我可以完美地解析 HTML 文档中的所有链接 但无法解析 RSS