Forum Moderators: open

Message Too Old, No Replies

Making link from RSS feed pop-up

Want to use a target=_blank type statement in PHP

         

moishe

2:44 pm on Sep 8, 2004 (gmt 0)

10+ Year Member



I am using the following to put RSS feeds on my site, does anyone know how to make the links generated by the RSS open in a new window?....

<?php

$insideitem = false;
$tag = "";
$title = "";
$description = "";
$link = "";

function startElement($parser, $name, $attrs) {
global $insideitem, $tag, $title, $description, $link;
if ($insideitem) {
$tag = $name;
} elseif ($name == "ITEM") {
$insideitem = true;
}
}

function endElement($parser, $name) {
global $insideitem, $tag, $title, $description, $link;
if ($name == "ITEM") {
printf("<dt><b><a href='%s'>%s</a></b></dt>",
trim($link),htmlspecialchars(trim($title)));
printf("<dd>%s</dd>",htmlspecialchars(trim($description)));
$title = "";
$description = "";
$link = "";
$insideitem = false;
}
}

function characterData($parser, $data) {
global $insideitem, $tag, $title, $description, $link;
if ($insideitem) {
switch ($tag) {
case "TITLE":
$title .= $data;
break;
case "DESCRIPTION":
$description .= $data;

break;
case "LINK":
$link .= $data;
break;
}
}
}

$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
$fp = fopen("h$$p://rss.example.net/rss/world/virgin-islands.xml","r")
or die("Error reading RSS data.");
while ($data = fread($fp, 4096))
xml_parse($xml_parser, $data, feof($fp))
or die(sprintf("XML error: %s at line %d",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
fclose($fp);
xml_parser_free($xml_parser);

?>

rincey

11:04 am on Sep 9, 2004 (gmt 0)

10+ Year Member



In the line starting with
printf("<dt><b><a href='%s'>%s</a></b></dt>",
in the function endElement() just change the
<a href='%s'>
to
<a href='%s' target='_blank'>

This should do the job.

Ad

moishe

3:04 pm on Sep 9, 2004 (gmt 0)

10+ Year Member



Thank you very much.

BTW, anyone looking for an easy way to put an RSS feed on your page (G indexes it just fine), is welcome to use this script. Just change $fp = fopen("h$$p://rss.example.net/rss/world/virgin-islands.xml","r")
to the url for the feed you want.