3v4l.org

run code in 300+ PHP versions simultaneously
<?php // Set your own configuration options as you see fit. $feed = 'http://rss.nytimes.com/services/xml/rss/nyt/InternationalHome.xml'; $success = $feed->init(); // Make sure the page is being served with the right headers. $feed->handle_content_type(); // Set our paging values $start = (isset($_GET['start']) && !empty($_GET['start'])) ? $_GET['start'] : 0; // Where do we start? $length = (isset($_GET['length']) && !empty($_GET['length'])) ? $_GET['length'] : 5; // How many per page? $max = $feed->get_item_quantity(); // Where do we end? // When we end our PHP block, we want to make sure our DOCTYPE is on the top line to make // sure that the browser snaps into Standards Mode. ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US"> <head> <title>SimplePie: Demo</title> <link rel="stylesheet" href="styles.css" type="text/css" media="screen, projector" /> </head> <body> <div id="site"> <?php // If we have an error, display it. if ($feed->error()) { echo '<div class="sp_errors">' . "\r\n"; echo '<p>' . htmlspecialchars($feed->error()) . "</p>\r\n"; echo '</div>' . "\r\n"; } ?> <?php if ($success): ?> <?php // get_items() will accept values from above. foreach($feed->get_items($start, $length) as $item): $feed = $item->get_feed(); ?> <div class="chunk"> <h4><?php if ($item->get_permalink()) echo '<a href="' . $item->get_permalink() . '">'; echo $item->get_title(true); if ($item->get_permalink()) echo '</a>'; ?></h4> <?php echo $item->get_content(); ?> <p class="footnote">Source: <a href="<?php echo $feed->get_permalink(); ?>"><?php echo $feed->get_title(); ?></a> | <?php echo $item->get_date('j M Y, g:i a'); ?></p> </div> <?php endforeach; ?> <?php endif; ?> <?php // Let's do our paging controls $next = (int) $start + (int) $length; $prev = (int) $start - (int) $length; // Create the NEXT link $nextlink = '<a href="?start=' . $next . '&length=' . $length . '">Next &raquo;</a>'; if ($next > $max) { $nextlink = 'Next &raquo;'; } // Create the PREVIOUS link $prevlink = '<a href="?start=' . $prev . '&length=' . $length . '">&laquo; Previous</a>'; if ($prev < 0 && (int) $start > 0) { $prevlink = '<a href="?start=0&length=' . $length . '">&laquo; Previous</a>'; } else if ($prev < 0) { $prevlink = '&laquo; Previous'; } // Normalize the numbering for humans $begin = (int) $start + 1; $end = ($next > $max) ? $max : $next; ?> <p>Showing <?php echo $begin; ?>&ndash;<?php echo $end; ?> out of <?php echo $max; ?> | <?php echo $prevlink; ?> | <?php echo $nextlink; ?> | <a href="<?php echo '?start=' . $start . '&length=5'; ?>">5</a>, <a href="<?php echo '?start=' . $start . '&length=10'; ?>">10</a>, or <a href="<?php echo '?start=' . $start . '&length=20'; ?>">20</a> at a time.</p> </div> </body> </html>

preferences:
42.25 ms | 402 KiB | 5 Q