Ik heb onderstaande script gemaakt om video's uit een YouTube feed weer te geven er zit alleen een fout in die ik niet vind.


<?php
$articles = array();
$blog_url = "http://gdata.youtube.com/feeds/base/users/remcob00/uploads?alt=rss&v=2&orderby=published&client=ytapi-youtube-profile";

$rawFeed = file_get_contents($blog_url);
$xml = new SimpleXmlElement($rawFeed);

$channel = array();
$channel["title"]       = $xml->channel->title;
$channel["link"]        = $xml->channel->link;
$channel["description"] = $xml->channel->description;
$channel["pubDate"]     = $xml->pubDate;
$channel["timestamp"]   = strtotime($xml->pubDate);
$channel["generator"]   = $xml->generator;
$channel["language"]    = $xml->language;

function getVideoID($string = '') {

            $parsed_url = parse_url($string, PHP_URL_QUERY);

            if($parsed_url) {
                parse_str($parsed_url, $parsed_str);

                return $parsed_str['v'];

            }
            return false;
        }


foreach ($xml->channel->item as $item)
{
        $article = array();
        $article["channel"] = $blog_url;
      ?>
        <ul>
<li><h2> <?php echo $article["title"] = $item->title;?></h2>
<iframe width="425" height="349" src="http://www.youtube.com/embed/<?php
echo getVideoID($article['link']);
?>" frameborder="0" allowfullscreen></iframe>
        <?php echo $article["description"] = (string) trim($item->description);?>
        </li>
</ul>
<?php
        
}
   ?>

krijg je een error? wat loopt er mis?
Nee, hier:

<iframe width="425" height="349" src="http://www.youtube.com/embed/<?php
echo getVideoID($article['link']);
?>" frameborder="0" allowfullscreen></iframe>

word de video id niet weergeven waardoor in het iframe de 404 pagina van YouTube verschijnt.
dus getVideoID($article['link']) weergeeft niks?
Dit werkt:

<iframe width="425" height="349" src="http://www.youtube.com/embed/<?php
echo getVideoID($article["link"] = $item->link);
?>" frameborder="0" allowfullscreen></iframe>
Niet zeggen dat je het helemaal zelf gemaakt hebt...
En je had je vraag beter in je bestaande topic (met hetzelfde probleem) kunnen plaatsen.
Nick Dijkstra hartstikke bedankt voor je hulp, nu werkt de code wel. En Arjan jij hebt gelijk en ik moet jou ook bedanken voor het helpen in het vorige topic.

Hier de volledige code:

<?php
   
   
   


$articles = array();


$blog_url = "http://gdata.youtube.com/feeds/base/users/remcob00/uploads?alt=rss&v=2&orderby=published&client=ytapi-youtube-profile";

$rawFeed = file_get_contents($blog_url);
$xml = new SimpleXmlElement($rawFeed);



$channel = array();
$channel["title"]       = $xml->channel->title;
$channel["link"]        = $xml->channel->link;
$channel["description"] = $xml->channel->description;
$channel["pubDate"]     = $xml->pubDate;
$channel["timestamp"]   = strtotime($xml->pubDate);
$channel["generator"]   = $xml->generator;
$channel["language"]    = $xml->language;


function getVideoID($string = '') {

            $parsed_url = parse_url($string, PHP_URL_QUERY);

            if($parsed_url) {
                parse_str($parsed_url, $parsed_str);

                return $parsed_str['v'];

            }
            return false;
        }


foreach ($xml->channel->item as $item)
{
        $article = array();
        $article["channel"] = $blog_url;
      ?>
        <ul>
<li><h2> <?php echo $article["title"] = $item->title;?></h2>
<iframe width="425" height="349" src="http://www.youtube.com/embed/<?php
echo getVideoID($article["link"] = $item->link);
?>" frameborder="0" allowfullscreen></iframe>
        <?php echo $article["description"] = (string) trim($item->description);?>
        </li>
</ul>
<?php
        
}


   
   
   
   ?>


Nog een vraag, weet iemand toevallig hoe ik een maximum aantal items wat worden weergegeven kan instellen?

<?php
//Aantal items wat je wil laten zien
$count = 10;
$articles = array();
$blog_url = "http://gdata.youtube.com/feeds/base/users/remcob00/uploads?alt=rss&v=2&orderby=published&client=ytapi-youtube-profile";

$rawFeed = file_get_contents($blog_url);
$xml = new SimpleXmlElement($rawFeed);

$channel = array();
$channel["title"]       = $xml->channel->title;
$channel["link"]        = $xml->channel->link;
$channel["description"] = $xml->channel->description;
$channel["pubDate"]     = $xml->pubDate;
$channel["timestamp"]   = strtotime($xml->pubDate);
$channel["generator"]   = $xml->generator;
$channel["language"]    = $xml->language;

function getVideoID($string = '') {

            $parsed_url = parse_url($string, PHP_URL_QUERY);

            if($parsed_url) {
                parse_str($parsed_url, $parsed_str);

                return $parsed_str['v'];

            }
            return false;
        }

$i = 1;
foreach ($xml->channel->item as $item)
{
        $article = array();
        $article["channel"] = $blog_url;
      ?>
        <ul>
<li><h2> <?php echo $article["title"] = $item->title;?></h2>
<iframe width="425" height="349" src="http://www.youtube.com/embed/<?php
echo getVideoID($article['link']);
?>" frameborder="0" allowfullscreen></iframe>
        <?php echo $article["description"] = (string) trim($item->description);?>
        </li>
</ul>
<?php
if($i == $count) break;
$i++;
}
   ?>
Thanks

Reageren