我正在使用SimplePie解析我们的教会RSS Feed,其中包含每周布道,包括音频和视频。我能够获得标题和mp3链接,但很难获得youtube链接。以下是包含youtube视频的XML Feed中的内容示例。
正在使用[CDATA]
我正在使用$item->get_content()
,但这似乎不包含以下任何标记数据。 Feed的网址为http://lakeforest.org/feed。当我在浏览器中显示此网址时,我可以看到嵌入的YouTube视频。
非常感谢任何帮助。
注意: - 我评论下面的html只显示
<!--
<description><![CDATA[Huntersville Campus Mike Moses, Lead Pastor Series Discussion Questions: SHAPE, Part 2 Spiritual Gifts Inventory VIDEO AUDIO]]></description>
<content:encoded><![CDATA[<h3>Huntersville Campus</h3>
<p>Mike Moses, Lead Pastor<br />
<a href="http://lakeforest.org/wp-content/uploads/2013/01/SDQ_SHAPEPt2.pdf">Series Discussion Questions: SHAPE, Part 2</a><br />
<a href="http://www.churchgrowth.org/cgi-cg/gifts.cgi?intro=1 <http://www.churchgrowth.org/cgi-cg/gifts.cgi?intro=1" target="_blank">Spiritual Gifts Inventory</a></p>
<h4>VIDEO</h4>
<p><iframe width="420" height="315" src="http://www.youtube.com/embed/4Uv8U8c6isg" frameborder="0" allowfullscreen></iframe></p>
<h4>AUDIO</h4>
<img src="http://feeds.feedburner.com/~r/LakeForest/~4/qMoLVpI1tGI" height="1" width="1"/>]]> -->
答案 0 :(得分:1)
SimplePie默认删除embed
,object
,iframe
等标签,因为它们可能很危险。
如果您想要恢复视频,则应忽略它们,但要小心源网址,因为这可能是一个安全问题。
$feed = new SimplePie();
$feed->set_feed_url('http://simplepie.org/blog/feed/');
// Remove these tags from the list
$strip_htmltags = $feed->strip_htmltags;
array_splice($strip_htmltags, array_search('object', $strip_htmltags), 1);
array_splice($strip_htmltags, array_search('param', $strip_htmltags), 1);
array_splice($strip_htmltags, array_search('embed', $strip_htmltags), 1);
array_splice($strip_htmltags, array_search('iframe', $strip_htmltags), 1);
$feed->strip_htmltags($strip_htmltags);
答案 1 :(得分:0)
我刚注意到您的Feed网址,这不是我所期待的,我期待这样的事情:
这是来自YouTube的搜索结果Feed,我将其传递给SimplePie here。您声明$ item的其余PHP代码也很有用。我今晚回答了类似的问题,基本上多年来YouTube改变了他们的API和Feed,你可能不得不更新到他们的API / feed的更新版本,即使你可以找到它的旧例子。
SimplePie可以处理一些(如果不是全部)YouTube Feed,但无法保证Google(YouTube)会为您提供缩略图以及他们在YouTube.com上拥有的所有元数据。 API通常通过API提供其数据库中包含的数据的子集,他们希望人们访问他们的网站,以便他们可以向他们展示广告并更好地跟踪它们。
不是你想要的答案,但没有更多的信息,这是我能做的最好的。
如果您想深入了解Feed并获取视频网址然后为其创建播放器,那么这非常重要。你必须使用像simple_html_dom这样的东西,然后你需要创建一个格式正确的iframe或javascript调用来创建在浏览器中。 SimplePie没有get_contents() - &gt;视频