问题标签 [simplepie]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2320 浏览

php - 将 SimplePie 与 CodeIgniter 和 XAMPP 一起使用

我在 Windows 计算机上使用 CodeIgniter 1.7.2 和 XAMPP 1.7.2。

我正在尝试使用 SimplePie。

我按照我能找到的所有说明进行操作:simplepie.inc 的副本在我的应用程序/库文件夹中,重命名为 simplepie.php 我在 Apache 上启用了 curl。我尝试按如下方式加载 SimplePie:

此时,Apache 挂起。错误日志没有真正的错误 - 只是表明它正在侦听端口 443 和端口 80。然后我从 Apache 收到一个消息框,说它已因未知错误而停止。

我怀疑它一定是这三个工具的组合,很可能与 XAMPP 相关,因为有许多似乎对其他人有用的 codeigniter/simplepie 教程。

有人对这个问题有任何想法吗?如果没有,有没有人用 CodeIgniter 尝试过 Magpie?我正在考虑尝试它,因为我变得相当绝望。

0 投票
1 回答
169 浏览

php - 在 SimplePie (PHP) 中创建并包含一个变量

在下面的代码中,如何将 VAR 设置为某个变量,然后将其包含在 SimplePie 代码中作为提要 URL?“提要”代码来自 Simplepie PHP 库。

0 投票
1 回答
691 浏览

php - Simplepie - 从数据库中获取提要

我想从数据库中获取多个提要,并从这些提要中获取所有新内容

它可以工作,但是有一个问题,我不知道是什么原因造成的,这是代码:

$feed_sql = mysqli_query($link, "SELECT feed from tutorial_feed WHERE approved=1");

$feeds = 数组();

$i = 0;

而($feed_r = mysqli_fetch_object($feed_sql)):

$i++;

结束;

$feed = new SimplePie($feeds);

$feed->handle_content_type();

foreach($feed->get_items(0, 100) as $item) :

echo $item->get_permalink()."
";

结束;

我首先得到

注意:未定义的偏移量:第 22 行的 I:\wamp\www\cmstut\includes\cron.php 中的 0
注意:未定义的偏移量:第 22 行的 I:\wamp\www\cmstut\includes\cron.php 中的 1
注意:未定义的偏移量:第 22 行的 I:\wamp\www\cmstut\includes\cron.php 中的 2
注意:未定义的偏移量:第 22 行的 I:\wamp\www\cmstut\includes\cron.php 中的 3
注意:未定义的偏移量:第 22 行的 I:\wamp\www\cmstut\includes\cron.php 中的 4 注意:未定义的偏移量:
第 22 行的 I:\wamp\www\cmstut\includes\cron.php 中的 5
注意:未定义的偏移量:6在第 22 行
的 I:\wamp\www\cmstut\includes\cron.php 注意:未定义的偏移量:第 22 行的 I:\wamp\www\cmstut\includes\cron.php 中的 7
注意:未定义的偏移量:I 中的 8 :\wamp\www\cmstut\includes\cron.php 第 22 行
注意:未定义的偏移量:第 22 行的 I:\wamp\www\cmstut\includes\cron.php 中的 9
注意:未定义的偏移量:第 22 行的 I:\wamp\www\cmstut\includes\cron.php 中的 10

然后它将根据导入的提要开始打印指向新内容的永久链接,我知道未定义的偏移量意味着它不存在但我不明白,任何帮助将不胜感激

0 投票
2 回答
1490 浏览

rss - 将 RSS 提要拆分为单独的提要

我正在尝试找到一种方法,根据关键字匹配将单个 RSS 提要拆分为单独的提要。

Yahoo Pipes 是我的第一个想法,但我找不到办法。尽管 Pipes 有一个拆分模块,但任何管道都只有一个输出模块可用。所以我看不出我怎么会从管道中获得多个饲料。

这样做的全部目的是使单个密集提要在 Google Reader 中更易于管理。(嘿谷歌:一些 Gmail 风格的过滤器怎么样?!)

[澄清开始]

我设想了一个主要的提要进入,然后根据某些关键字过滤构建“子提要”。问题是我会订阅过滤后的主提要和“子提要”。过滤器会减少主提要中的项目数量。它们被“过滤掉”。我会订阅过滤后的主要提要,以观察将来需要删除的其他子提要。

设置单独管道的主要问题是我需要为每个子提要维护过滤器,然后我还必须复制这些过滤器以将整个集合应用于主提要。这是可行的,但并不理想。我可能没有其他选择。

【澄清结束】

我的第二个想法是可能使用 Pipes 将标签应用于提要项目,希望 Google Reader 能够尊重这些标签。这似乎也不可能。

我查看了 MagpieRSS 和 Simplepie 以考虑推出我自己的解决方案。我找到了大量用于合并提要的文档,但没有发现拆分提要的内容。我的技能非常基础,所以如果没有非常具体的教程,这可能超出了我的范围。

如果有人有想法,我将不胜感激。谢谢。

0 投票
5 回答
1349 浏览

rss - SimplePie 不解析 flickr 提要

我正在尝试使用 SimplePie 提取组池 flickr 提要:

然后我使用典型的 SimplePie php 调用来循环浏览提要项目。但是,没有返回任何内容。HTML 在那里,但没有插入提要元素。

当我尝试使用 flickr 的标签提要时,例如:

我从公共照片提要中取回照片列表,但未考虑标签。

有任何想法吗?我唯一能想到的是我需要一个 API 密钥,但 flickr 网站上没有任何内容表明提要调用需要密钥。另外,我可以在浏览器中打开这两种类型的提要并获取我正在寻找的提要。

0 投票
2 回答
152 浏览

php - 我正在尝试将一些 PHP 脚本作为 CLI 而不是通过 HTTP 运行。我如何让他们玩得很好?

我正在使用 FeedForAll 中的一些 PHP 脚本来连接 RSS 提要 (RSSmesh) 并将它们显示为 HTML (RSS2HTML)。

因为我打算相当密集地运行这些脚本,并且不希望产生的 HTTP 请求和带宽计入我的托管配额,所以我正在转向在一个伞式 PHP“批处理”脚本中在 Web 主机的服务器上运行它们,并通过 cron 调用此脚本(顺便说一下,这是一个 Linux 服务器)。

这是通过 HTTP 的(工作)示例请求:

http://www.mydomain.com/a/rss2htmlcore/rss2html2.php?XMLFILE=http://www.mydomain.com/a/myapp/xmlcache/feed.xml&TEMPLATE=template.html

这将产生所需的 HTML 输出。我希望它如何在命令行上工作的一个示例:

/srv/customers/mycustomer#/mydomain.com/www/a/rss2htmlcore/rss2html2-cli.php /srv/customers/mycustomer#/mydomain.com/www/a/myapp/xmlcache/feed.xml /srv/customers/mycustomer#/mydomain.com/www/a/template.html

这是在“rss2html2-cli.php”中添加了正确的 shebang 行。我也可以在请求中指定可执行文件(“/usr/local/bin/php”),但我怀疑它会有所不同,因为我能够以任何方式运行另一个脚本(我自己编写的)而不会出现问题。

现在,RSS2HTML 和 RSSmesh 的不同之处在于,对于初学者来说,它们包含辅助文件——例如,它们都包含 XML 解析器脚本——我怀疑这是我有点不知所措的地方。

现在我正在从“伞”批处理脚本中调用 exec(),如下所示:

exec("/srv/customers/mycustomer#/mydomain.com/www/a/rss2htmlcore/rss2html2-cli.php /srv/customers/mycustomer#/mydomain.com/www/a/myapp/xmlcache/feed.xml /srv/customers/mycustomer#/mydomain.com/www/a/template.html", $output)

但是没有产出。解决此问题的最佳方法是什么,我应该记住哪些“陷阱”?exec() 是解决这个问题的正确方法吗?它适用于其他(简单)脚本,但它会编写自己的输出。为此,如果可能,我想获取输出并将其从伞形脚本中写入文件。我也尝试过输出缓冲但无济于事。

我是否需要注意与包含相关的任何具体内容?现在它们在脚本中被指定为include_once("FeedForAll_XMLParser.inc.php");并且指定的文件确实在同一个文件夹中。

更多信息:

- 这是一个 Linux 服务器。

- 我无法直接访问 shell,所以我不能直接在命令行上测试东西,一切都是通过 crontab 完成的。

- 我承认对 FeedForAll 脚本的支持还有很多不足之处,但如果可能的话,我想继续使用他们的脚本,如果只是因为我了解它们并且已经使用了一段时间。我研究了 Simplepie,但 FFA 脚本做了一些我没有看到 Simplepie 明显解决方案的事情,比如限制每个提要的项目数 (RSSmesh) 或限制描述长度 (RSS2HTML)。

-雅虎!管道出来了,它们为我的应用程序缓存数据的时间太长了。


如果您想查看代码,这里是 txt 文件形式的脚本。RSS2HTML2 和 RSSmesh 是 FeedForAll 脚本,FeedForAll_XMLParser... 是包含的解析器。请注意,我还没有修改这些来处理 $argv 等。但是,我在“scraper-universal-rss-cli”中使用了它,它与 CLI 配合得很好。


如果有人对此有任何想法可以分享,将不胜感激。先感谢您。

0 投票
1 回答
2596 浏览

codeigniter - 使用 Codeigniter + Simplepie 写入权限

我正在尝试使用这两个框架创建一个简单的 RSS 解析器。但是,在尝试写入缓存目录时出现 PHPerrors:

我正在使用来自 github 的最新版本 Simplepie 运行带有 XAMPP 的 Windows 7

错误:

遇到 PHP 错误

严重性:用户警告

消息:C:\xampp\htdocs\geekurls/system/application/cache/rss 不可写。确保您设置了正确的相对或绝对路径,并且该位置是服务器可写的。

文件名:库/simplepie.php

行号:1732

像下面的评论一样尝试并尝试制作测试文件但没有运气

0 投票
1 回答
473 浏览

xml - Simplepie iTunes 选择特定的类

我正在解析一个 iTunes 提要,提要中有 3 个图像大小,我不确定如何获取最大的一个。

iTunes 提要示例:

我的课:

php 输出图像:

它总是输出第一个/最小的图像,我不确定如何定义最大的?

0 投票
1 回答
1463 浏览

php - SimplePie XML 文档无效

我正在尝试使用 SimplePie 解析 XML。如果我没有将 force_feed 设置为 TRUE,SimplePie 甚至不会将其识别为 RSS。SimplePie 显示的错误信息:

此 XML 文档无效,可能是由于字符无效。XML 错误:第 1 行第 1 列的格式不正确(令牌无效)

XML 文档的前 2 行是:

知道这里出了什么问题吗?

编辑(用代码更新):

0 投票
1 回答
1528 浏览

php - 使用 codeigniter 在 simplepie 中使用多个提要

我试图让 simplepie 使用 codeigniter 循环遍历几个 rss 提要,但我只能让它显示来自数组中最后一个提要的提要项目。

我认为这与 _get_feed 函数中的 foreach 循环有关,但我尝试过的一切都未能修复它。

在我的控制器中,我有这个

然后在我看来我有这个

我知道可以给 simplepie 一个提要数组以使用 set_feed_url 函数解析,但我不想这样做,因为它将所有提要项目混合在一起。

我还想知道在最佳实践方面将 _get_feed 函数放置在控制器中是否可以,或者在模型中获取数据时是否会更好?