function format_rss_channel

Formats an RSS channel.

Arbitrary elements may be added using the $args associative array.

Related topics

2 calls to format_rss_channel()
node_feed in drupal/core/modules/node/node.module
Page callback: Generates and prints an RSS feed.
theme_aggregator_page_rss in drupal/core/modules/aggregator/aggregator.pages.inc
Prints the RSS page for a feed.

File

drupal/core/includes/common.inc, line 1568
Common functions that many Drupal modules will need to reference.

Code

function format_rss_channel($title, $link, $description, $items, $langcode = NULL, $args = array()) {
  $langcode = $langcode ? $langcode : language(LANGUAGE_TYPE_CONTENT)->langcode;
  $output = "<channel>\n";
  $output .= ' <title>' . check_plain($title) . "</title>\n";
  $output .= ' <link>' . check_url($link) . "</link>\n";

  // The RSS 2.0 "spec" doesn't indicate HTML can be used in the description.
  // We strip all HTML tags, but need to prevent double encoding from properly
  // escaped source data (such as &amp becoming &amp;amp;).
  $output .= ' <description>' . check_plain(decode_entities(strip_tags($description))) . "</description>\n";
  $output .= ' <language>' . check_plain($langcode) . "</language>\n";
  $output .= format_xml_elements($args);
  $output .= $items;
  $output .= "</channel>\n";
  return $output;
}