How to detect if content wasn't found in the feed URL using SimpleXML and PHP

喜夏-厌秋 提交于 2019-12-02 07:01:49

问题


How do you detect if this function is empty ? ( returns nothing )

function last_uploads() {
for($i = 0; $i < 20; ){
        error_reporting(E_ALL);
        $feedURL = 'http://gdata.youtube.com/feeds/api/users/youtube/uploads?max-results=5';
        $sxml = simplexml_load_file($feedURL);
        foreach ($sxml->entry as $entry) {
                $media = $entry->children('media', true);
                $url = (string)$media->group->player->attributes()->url;
                $thumb = (string)$media->group->thumbnail->attributes()->url;
                $watch = (string)$media->group->player->attributes()->url;
                $title = (string)$media->group->title;
                $height = esc_attr( ytio_embed_height_ret() );
                $width = esc_attr( ytio_embed_width_ret() );
                $query_string = parse_url(htmlspecialchars_decode($url), PHP_URL_QUERY);
                parse_str($query_string, $data);
                $dataurl = esc_attr( $data['v'] );
                $index = strrpos($url, "&");
                $url = substr($url, 0, $index);
                $index = strrpos($url, "watch");
                $url = substr($url, 0, $index) . "v/" . substr($url, $index + 8, strlen($url) - ($index + 8));
                echo '<iframe id="ytplayer" type="text/html" width="' . $width . '" height="' . $height . '" 
                src="http://www.youtube.com/embed/' . $dataurl . '?rel=0&showinfo=1"
                frameborder="0" showinfo allowfullscreen></iframe><br class="clear" />';
}
        $i++;
        break;
}
}

I have tried :

function last_uploads_ret() {
    if(empty( last_uploads() )) {
        echo 'Nothing found';
    } else {
        echo last_uploads();
}

But it returns both the videos and Nothing found if the channel has uploads.

for instance, this feed URL has no uploads: http://gdata.youtube.com/feeds/api/users/mullenweg/uploads?prettyprint=true


回答1:


Just check if the <entry> tag exists:

if (isset($sxml->entry)) {
   // has videos
}


来源:https://stackoverflow.com/questions/29729439/how-to-detect-if-content-wasnt-found-in-the-feed-url-using-simplexml-and-php

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!