条件循环来获取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种方法获取图像。

我尝试使用ififelse循环并没有成功。我怎样才能创建一个循环来做到这一点而不打破其他人?

对不起我的详细问题。不知如何做空。

答案

就像@devon所说的那样,如果我做了我的工作,我会尝试其他的。我没有在单独的if循环中检查每个图像的可用性,而是循环if ifif循环。因此,只生成一个结果,如果检索到任何图像,则循环停止并中断

以上是关于条件循环来获取php simplepie rss中的图像的主要内容,如果未能解决你的问题,请参考以下文章

PHP Wordpress - 获取RSS源,显示带循环的项目

获取一个RSS提要,用循环显示项目

使用 fetch API 忽略条件 GET

将 SimplePie 与 CodeIgniter 和 XAMPP 一起使用

PHP Twitter RSS循环

[PHP] 循环查看php-fpm的内存占用情况