Php 使用标记检索RSS源<;内容:编码>;
我有以下代码片段:Php 使用标记检索RSS源<;内容:编码>;,php,rss,Php,Rss,我有以下代码片段: function getFeed($feed_url) { $content = file_get_contents($feed_url); $x = new SimpleXmlElement($content); echo "<ul>"; foreach($x->channel->item as $entry) { echo "<li><a href='$entry->link' title='$entry-&g
function getFeed($feed_url) {
$content = file_get_contents($feed_url);
$x = new SimpleXmlElement($content);
echo "<ul>";
foreach($x->channel->item as $entry) {
echo "<li><a href='$entry->link' title='$entry->title'>" . $entry->title . "</a></li>";
echo "<li>$entry->content</li>";
echo "</ul>";
}
函数getFeed($feed\u url){
$content=file\u get\u contents($feed\u url);
$x=新的SimpleXmlElement($content);
回声“- ”;
foreach($x->channel->item as$entry){
回声“”;
回声“
- $entry->content ”; 回声“
$entry->content
该部分未注册。在实际提要中,标记列为
,但我无法将其添加到提要中。有什么建议吗?在
中,内容
是标记名,而编码
是标记名
您必须使用。请参阅的输出
var_dump($entry->children("content", true));
我建议您使用以下代码:
function getFeed($feed_url) {
$feeds = file_get_contents($feed_url);
$feeds = str_replace("<content:encoded>","<contentEncoded>",$feeds);
$feeds = str_replace("</content:encoded>","</contentEncoded>",$feeds);
$rss = simplexml_load_string($feeds);
echo "<ul>";
foreach($x->channel->item as $entry) {
echo "<li><a href='$entry->link' title='$entry->title'>" . $entry->title . "</a></li>";
echo "<li>$entry->contentEncoded</li>";
echo "</ul>";
}
函数getFeed($feed\u url){
$feed=file\u get\u contents($feed\u url);
$feeds=str_replace(“,”,$feeds);
$feeds=str_replace(“,”,$feeds);
$rss=simplexml\u load\u字符串($feeds);
回声“- ”;
foreach($x->channel->item as$entry){
回声“”;
echo“
- $entry->contentEncoded ”; 回声“
希望这对您有用。这里的标签名是“编码的”。 试试这个:
$url = 'put_your_feed_URL';
$rss = new DOMDocument();
$rss->load($url);
$feed = array();
foreach ($rss->getElementsByTagName('item') as $node) {
$item = array (
'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
'pubDate' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
'description' => $node->getElementsByTagName('description')->item(0)->nodeValue,
'content' => $node->getElementsByTagName('encoded')->item(0)->nodeValue
);
array_push($feed, $item);
}
…PHP示例
<?php
// --------------------------------------------------------------------
$feed_url = 'http://www.tagesschau.de/xml/rss2';
$xml_data = simplexml_load_file($feed_url);
// --------------------------------------------------------------------
$i=0;
foreach($xml_data->channel->item as $ritem) {
// --------------------------------------
$e_title = (string)$ritem->title;
$e_link = (string)$ritem->link;
$e_pubDate = (string)$ritem->pubDate;
$e_description = (string)$ritem->description;
$e_guid = (string)$ritem->guid;
$e_content = $ritem->children("content", true);
$e_encoded = (string)$e_content->encoded;
$n = ($i+1);
// --------------------------------------
print '<p> ---------- '. $n .' ---------- </p>'."\n";
print "\n";
print '<div class="entry" style="margin:0 auto; padding:4px; text-align:left;">'."\n";
print '<p> Title: '. $e_title .'</p>'."\n";
print '<p> Link: '. $e_link .'</p>'."\n";
print '<p> Date: '. $e_pubDate .'</p>'."\n";
print '<p> Desc: '. $e_description .'</p>'."\n";
print '<p> Guid: '. $e_guid .'</p>'."\n";
print '<p> Content: </p>'."\n";
print '<p style="background:#DEDEDE">'. $e_encoded .'</p>'."\n";
print '</div>'."\n";
// --------------------------------------
print '<br />'."\n";
print '<br />'."\n";
$i++;
}
// --------------------------------------------------------------------
?>
channel->item作为$ritem){
// --------------------------------------
$e_title=(字符串)$ritem->title;
$e_link=(字符串)$ritem->link;
$e_pubDate=(字符串)$ritem->pubDate;
$e_description=(字符串)$ritem->description;
$e_guid=(字符串)$ritem->guid;
$e_content=$ritem->children(“content”,true);
$e_encoded=(字符串)$e_content->encoded;
$n=($i+1);
// --------------------------------------
打印“-->.$n.”----.“\n”;
打印“\n”;
打印“”。“\n”;
打印“Title:”.$e\u Title.”。“\n”;
打印“链接:”.$e\u链接。“”。“\n”;
打印“日期:”.$e_pubDate.”。“\n”;
打印“Desc:”.$e_description.”。“\n”;
打印“Guid:”.$e\u Guid.”。“\n”;
打印“内容:”。“\n”;
打印“”。$e_编码。
”。“\n”;
打印“”。“\n”;
// --------------------------------------
打印“
”。“\n”;
打印“
”。“\n”;
$i++;
}
// --------------------------------------------------------------------
?>
如果要在浏览器中查看HTML源代码的内容,请使用例如:
print '<pre style="background:#DEDEDE">'. htmlentities($e_encoded) .'</pre>'."\n";
print'.htmlentities($e_encoded)。''.\n;
:=)这方面的有效答案是:
$e_content = $entry->children("content", true);
$e_encoded = (string)$e_content->encoded;
感谢您在回答时解释标签的含义。我试图用另一个库(iPhone上的TouchXML)解决这个解析问题这有助于我使它工作。评论,以便这将显示在搜索该库以及。:)你应该为此获得更多的赞扬。这是3个解决方案中唯一一个对我工作良好的。这确实是更好的解决方案。我推荐这一个!节省了我很多心痛,而且我正在尝试使用此URL-。获取了标题、博客URL和发布日期。但无法获取描述和图像。对于描述,它是一个
标记。那么我如何获取描述和封面图像呢?我针对另一个问题改进了此答案。请看,我正在尝试使用此URL从媒体获取数据-blog.botreetechnologies.com/feed.get title、博客URL和发布日期。但无法获取描述和图像。对于描述,它是一个标记。那么如何获取描述和封面图像呢?