条件循环来获取php simplepie rss中的图像
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了条件循环来获取php simplepie rss中的图像相关的知识,希望对你有一定的参考价值。
我正在尝试使用php中的SimplePie制作新闻阅读器。当我尝试从Feed中获取图像时,一切正常。在我的理解中,我得出的结论是,我必须以下列三种方式获取图像。
1)使用$item->get_enclosure()
获取图像,代码如下:
<?php
//Find Images from $item->get_enclosure()
if ($enclosure = $item->get_enclosure()){
$imageLink = $enclosure->get_link();
if($imageLink !== "//?#") {
echo "<a href="" . $item->get_permalink() . ""><img src="$imageLink"></a>";
$imageLink = null;
}
}
?>
2)如果没有图像,那么我必须使用以下代码使用$item->get_content()
获取:
// Search for Images in $item->get_content() using str_img_src()
if ($iurl = str_img_src($item->get_content())) {
echo "<a href="" . $item->get_permalink() . ""><img src="$iurl"></a>";
}
?>
3)如果我也失败了,我应该从post postinkink取得如下:
<?php
if ($imageLink === "//?#" && !$iurl) {
// echo "Mandan<br>";
$html = file_get_contents($item->get_permalink());
$doc = new DOMDocument();
@$doc->loadHTML($html);
$tags = $doc->getElementsByTagName('img');
foreach ($tags as $tag) {
$imgUrl = "http://" . $tag->getAttribute('src');
echo "<div style="float: left;"></div><a href="" . $imgUrl . ""><img src="" . $imgUrl . ""></a><br>";
}
}
?>
我的问题是我不知道如何从一种方法获取图像。如果我在First Method中成功,那么我应该跳过第2和第3。如果首先失败,那么应该检查是否可能使用第二种方法,如果它超过我的程序应该跳过第三种方法。最后如果第1和第2次失败,它应该用第3种方法获取图像。
我尝试使用if
和ifelse
循环并没有成功。我怎样才能创建一个循环来做到这一点而不打破其他人?
对不起我的详细问题。不知如何做空。
答案
就像@devon所说的那样,如果我做了我的工作,我会尝试其他的。我没有在单独的if循环中检查每个图像的可用性,而是循环if ifif循环。因此,只生成一个结果,如果检索到任何图像,则循环停止并中断
以上是关于条件循环来获取php simplepie rss中的图像的主要内容,如果未能解决你的问题,请参考以下文章
PHP Wordpress - 获取RSS源,显示带循环的项目