protected OpmlFeedAdd::parseOpml($opml)
Parses an OPML file.
Feeds are recognized as <outline> elements with the attributes "text" and "xmlurl" set.
@todo Move this to a parser in https://www.drupal.org/node/1963540.
Parameters
string $opml: The complete contents of an OPML document.
Return value
array An array of feeds, each an associative array with a "title" and a "url" element, or NULL if the OPML document failed to be parsed. An empty array will be returned if the document is valid but contains no feeds, as some OPML documents do.
File
- core/modules/aggregator/src/Form/OpmlFeedAdd.php, line 191
Class
- OpmlFeedAdd
- Imports feeds from OPML.
Namespace
Drupal\aggregator\Form
Code
protected function parseOpml($opml) { $feeds = array(); $xml_parser = drupal_xml_parser_create($opml); if (xml_parse_into_struct($xml_parser, $opml, $values)) { foreach ($values as $entry) { if ($entry['tag'] == 'OUTLINE' && isset($entry['attributes'])) { $item = $entry['attributes']; if (!empty($item['XMLURL']) && !empty($item['TEXT'])) { $feeds[] = array('title' => $item['TEXT'], 'url' => $item['XMLURL']); } } } } xml_parser_free($xml_parser); return $feeds; }
Please login to continue.