如何使用PHP以外的内容解析RSS提要?

问题描述:

我想解析在这里找到的RSS源:http://blog.everybodyedits.com/feed/如何使用PHP以外的内容解析RSS提要?

问题是,我无法使用PHP解析它(我们使用的主机不允许它)。我见过很多其他人使用jQuery和AJAX,但他们都显示了博客文章的完整列表。我只想显示一篇文章(只有标题和内容,而不是评论,作者,日期和额外的东西)。

我试过的一些jQuery脚本没有提出任何东西。

如果有更简单/更简单的方法来做到这一点,我是开放的耳朵。

我想避免第三方网站,如果我可以。

+4

没有什么神奇的PHP。 RSS只是一个XML文档,任何可以处理xml(甚至只是文本)的语言都可以处理RSS。 – 2015-01-26 20:18:05

+0

你是说当你说,为了方便我的问题,一个file_get_contents($ url)你无法获得XML? – 2015-01-26 20:20:02

+0

是的,由于某种原因它没有显示任何东西。但是,PHP呢。这个PHP代码很好用: $ feed = file_get_contents('http://blog.everybodyedits.com/feed/'); $ rss = simplexml_load_string($ feed); //使用黑魔法将其进行PHPify $ title = $ rss-> channel-> item-> title。“
\ n”; //获得标题 $ rawpost = $ rss-> channel-> item-> children('content',true) - > encoded。“\ n”; $ comments = strrpos($ rawpost,'”。$ title。“ \ n”; echo $ post。“\ n”; – 2015-01-26 20:22:25

我会在本地创建文件,然后解析它。这样,您可以稍后使用PHP或JavaScript访问它。从这样的事情开始:

<?php 
$file = "/var/www/path_to_your/file.xml"; 
$data = file_get_contents("http://blog.everybodyedits.com/feed/"); 

file_put_contents($file, $data); 

$local_file_data = simplexml_load_file($file); 
//var_dump($local_file_data); 
//To parse 
foreach ($local_file_data as $key => $value) { 
    echo $value->title; 
} 

尾巴你的日志,看看你的错误是否有。您可能在创建文件或解析文件时遇到权限问题 - 这可能是您看不到任何内容的原因。

如果您想使用JQuery解析您的xml,请参阅this documentation的示例。

<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.3.min.js"></script> 

$.ajax({ 
     type: "GET", 
    url: "http://your_server.com/file.xml", 
    dataType: "xml", 
    success: function(xml) { 
     console.log(xml); 
    } 
}); 

注意: 要设置PHP错误记录输入您的命令行:php -i | more,这将告诉你,你的php.ini文件。然后复制并编辑它并参阅this documentation

+0

我不能使用任何PHP。这是所有托管在雅虎游戏,他们不允许PHP脚本。 – 2015-01-26 21:47:46

+0

我的答案中的JQuery示例如何? – 2015-01-26 21:56:45

+0

我不明白你的第一个例子,但第二个例子给了我两个错误。 两者都说:未捕获SyntaxError:意外的令牌非法 – 2015-01-26 22:25:13

我找到了解决方案,我正在寻找...有点。它依赖于第三方网站,但它不使用PHP,而且易于更改。

我决定和Google's Feed Api一起去。

该代码非常容易更改,而且Google的服务器不太可能出现故障,所以我并不担心。加载任何东西我都没有问题。