I can't figure out what in this code is making it break its widget and load at the very top of the page.
It's supposed to take the XKCD info and toss it in a widget, but it breaks out.
Here is the code. It's a carbon copy of what gets displayed at
http://www.saskforum.ca/xkcd/newest.php
HTML Code:
<?php
function getNewestXKCD() {
$document = new DOMDocument();
// Load the HTML document from xkcd.com. The '@' is to suppress error messages (since there is one!).
$load = @$document->loadHTMLFile('http://www.xkcd.com/');
$src = '';
$title = '';
$alt = '';
// If we can connect to the site:
if ($load) {
// Make an array of all of the image tags in the page.
$images = $document->getElementsByTagName('img');
// Go through each image tag to until we find the comic.
foreach ($images as $image) {
// If it's the one with the comic:
if (substr($image->getAttribute('src'), 0, 28) == 'http://imgs.xkcd.com/comics/') {
$src = $image->getAttribute('src');
$title = $image->getAttribute('title');
$alt = $image->getAttribute('alt');
break; // We don't need to look anymore.
}
}
// Create output (no need to use the DOM for this part):
$return = '<div id="newKXCD" style="text-align:center;"><h1 style="font-size:20px;font-variant:small-caps;font-
family:Lucida, sans-serif;font-weight:bold;">'.$alt.'</h1>';
$return .= '<a href="http://www.xkcd.com" style="size:14pt;color:black;text-decoration:none;"><img src="'.$src.'"
title="'.$title.'" alt="'.$alt.'" border="0" /></a></div>';
}
// If we cannot connect to the site, print an error message.
else $return = '<div id="newKXCD" style="text-align:center"><a href="http://www.xkcd.com">Newest XKCD Comic cannot be
accessed<br>at this time, please try again later!</a></div>';
return $return;
} // End function
// Call the function which returns the HTML to display the image
echo getNewestXKCD();
// Oh and: Unexpected end tag : a in http://www.xkcd.com/, line: 48
?>
I left it as is so you can check it out.
What will it take to make this load within the widget box?
--------------- Added [DATE]1273101133[/DATE] at [TIME]1273101133[/TIME] ---------------
bump