Beispiel #1
0
 /**
  * Detect the feed format.
  *
  * @param string $content Feed content
  *
  * @return string
  */
 public function detectFormat($content)
 {
     $dom = XmlParser::getHtmlDocument($content);
     $xpath = new DOMXPath($dom);
     foreach ($this->formats as $parser_name => $query) {
         $nodes = $xpath->query($query);
         if ($nodes->length === 1) {
             return $parser_name;
         }
     }
     return '';
 }
Beispiel #2
0
 /**
  * Constructor.
  *
  * @param string $html
  * @param array  $rules
  */
 public function __construct($html, array $rules)
 {
     $this->rules = $rules;
     $this->dom = XmlParser::getHtmlDocument('<?xml version="1.0" encoding="UTF-8">' . $html);
     $this->xpath = new DOMXPath($this->dom);
 }
Beispiel #3
0
 /**
  * Extract the icon links from the HTML.
  *
  * @param string $html HTML
  *
  * @return array
  */
 public function extract($html)
 {
     $icons = array();
     if (empty($html)) {
         return $icons;
     }
     $dom = XmlParser::getHtmlDocument($html);
     $xpath = new DOMXpath($dom);
     $elements = $xpath->query("//link[contains(@rel, 'icon') and not(contains(@rel, 'apple'))]");
     for ($i = 0; $i < $elements->length; ++$i) {
         $icons[] = $elements->item($i)->getAttribute('href');
     }
     return $icons;
 }