kobayashi_one Posted April 21, 2006 Share Posted April 21, 2006 Hey, I wanted to ask a simple question. I wanted to syndicate a IGN RSS Feed, the only problem is that the text/font formatting is messed up. The text and the Links are way to big (font size 20px or something). Does anybody know how to format this RSS feed? I allready have CSS formatting in the page where I syndicate this, but it doesn't work on this feed... I don't get it.. Does anybody have a clue? The piece of code is beneath...Thanks in advance people![!--quoteo--][div class=\'quotetop\']QUOTE[/div][div class=\'quotemain\'][!--quotec--]<?php /* PHP RSS Reader v1.1By Richard James Kendall Bugs to richard@richardjameskendall.com Free to use, please acknowledge me Place the URL of an RSS feed in the $file variable.The $rss_channel array will be filled with data from the feed,every RSS feed is different by by and large it should contain:Array {[TITLE] = newsfeed[DESCRIPTION] = feed description[LINK] = link to their website[IMAGE] = Array {[URL] = url of image[DESCRIPTION] = alt text of image}[ITEMS] = Array {[0] = Array {[TITLE] = item title[DESCRIPTION] = item description[LINK = a link to the story}...}}By default it retrives the Reuters Oddly Enough RSS feed. The data is put into the arraystructure so you can format the information as you see fit.*/set_time_limit(0);$file = "http://scripts.ign.com/rss/ign.NintendoDS.2.0.xml";$rss_channel = array();$currently_writing = "";$main = "";$item_counter = 0;function startElement($parser, $name, $attrs) {global $rss_channel, $currently_writing, $main;switch($name) {case "RSS":case "RDF:RDF":case "ITEMS":$currently_writing = "";break;case "CHANNEL":$main = "CHANNEL";break;case "IMAGE":$main = "IMAGE";$rss_channel["IMAGE"] = array();break;case "ITEM":$main = "ITEMS";break;default:$currently_writing = $name;break;}}function endElement($parser, $name) {global $rss_channel, $currently_writing, $item_counter;$currently_writing = "";if ($name == "ITEM") {$item_counter++;}}function characterData($parser, $data) {global $rss_channel, $currently_writing, $main, $item_counter;if ($currently_writing != "") {switch($main) {case "CHANNEL":if (isset($rss_channel[$currently_writing])) {$rss_channel[$currently_writing] .= $data;} else {$rss_channel[$currently_writing] = $data;}break;case "IMAGE":if (isset($rss_channel[$main][$currently_writing])) {$rss_channel[$main][$currently_writing] .= $data;} else {$rss_channel[$main][$currently_writing] = $data;}break;case "ITEMS":if (isset($rss_channel[$main][$item_counter][$currently_writing])) {$rss_channel[$main][$item_counter][$currently_writing] .= $data;} else {//print ("rss_channel[$main][$item_counter][$currently_writing] = $data<br>");$rss_channel[$main][$item_counter][$currently_writing] = $data;}break;}}}$xml_parser = xml_parser_create();xml_set_element_handler($xml_parser, "startElement", "endElement");xml_set_character_data_handler($xml_parser, "characterData");if (!($fp = fopen($file, "r"))) {die("could not open XML input");}while ($data = fread($fp, 4096)) {if (!xml_parse($xml_parser, $data, feof($fp))) {die(sprintf("XML error: %s at line %d",xml_error_string(xml_get_error_code($xml_parser)),xml_get_current_line_number($xml_parser)));}}xml_parser_free($xml_parser);// output as HTMLprint ("<html><head><title>IGN Syndication</title></head><body>");if (isset($rss_channel["IMAGE"])) {print ("<a href=\"" . $rss_channel["LINK"] . "\" target=\"_blank\"><img border=\"0\" src=\"" . $rss_channel["IMAGE"]["URL"] . "\" align=\"middle\" alt=\"" . $rss_channel["IMAGE"]["TITLE"] . "</a>" . $rss_channel["TITLE"] . "<br><br>");} else {print ($rss_channel["TITLE"] . "<br>");}print ($rss_channel["DESCRIPTION"] . "<br><br>");if (isset($rss_channel["ITEMS"])) {if (count($rss_channel["ITEMS"]) > 0) {for($i = 0;$i < count($rss_channel["ITEMS"]);$i++) {print ("<i><table width=\"100%\" border=\"0\"><tr><td width=\"100%\"><a href=\"" . $rss_channel["ITEMS"][$i]["LINK"] . "\" target=\"_blank\"><h2>" . $rss_channel["ITEMS"][$i]["TITLE"] . "</h2></a></b>");print ("<i>" . html_entity_decode($rss_channel["ITEMS"][$i]["DESCRIPTION"]) . "</i>");print ("</td></tr></table><br>");}} else {print ("<b>There are no articles in this feed.</b>");}}print ("</body></html>");?> [/quote] Quote Link to comment Share on other sites More sharing options...
kobayashi_one Posted April 23, 2006 Author Share Posted April 23, 2006 Has anyone got an idea how to solve the text formatting problem that I have with this? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.