Exemplo n.º 1
0
 public function testStripXmlTag()
 {
     $data = file_get_contents('tests/fixtures/jeux-linux.fr.xml');
     $this->assertEquals('<rss', substr(Filter::stripXmlTag($data), 0, 4));
     $data = file_get_contents('tests/fixtures/ezrss.it');
     $this->assertEquals('<!DOC', substr(Filter::stripXmlTag($data), 0, 5));
     $data = file_get_contents('tests/fixtures/fulltextrss.xml');
     $this->assertEquals('<rss', substr(Filter::stripXmlTag($data), 0, 4));
     $data = file_get_contents('tests/fixtures/sametmax.xml');
     $this->assertEquals('<rss', substr(Filter::stripXmlTag($data), 0, 4));
     $data = file_get_contents('tests/fixtures/ibash.ru.xml');
     $this->assertEquals('<rss', substr(Filter::stripXmlTag($data), 0, 4));
     $data = file_get_contents('tests/fixtures/pcinpact.xml');
     $this->assertEquals('<rss', substr(Filter::stripXmlTag($data), 0, 4));
     $data = file_get_contents('tests/fixtures/resorts.xml');
     $this->assertEquals('<rss', substr(Filter::stripXmlTag($data), 0, 4));
     $data = file_get_contents('tests/fixtures/rue89.xml');
     $this->assertEquals('<rss', substr(Filter::stripXmlTag($data), 0, 4));
     $data = file_get_contents('tests/fixtures/cercle.psy.xml');
     $this->assertEquals('<rss', substr(Filter::stripXmlTag($data), 0, 4));
     $data = file_get_contents('tests/fixtures/lagrange.xml');
     $this->assertEquals('<feed', substr(Filter::stripXmlTag($data), 0, 5));
     $data = file_get_contents('tests/fixtures/googleblog.xml');
     $this->assertEquals('<feed', substr(trim(Filter::stripXmlTag($data)), 0, 5));
     $data = file_get_contents('tests/fixtures/atomsample.xml');
     $this->assertEquals('<feed', substr(trim(Filter::stripXmlTag($data)), 0, 5));
     $data = file_get_contents('tests/fixtures/planete-jquery.xml');
     $this->assertEquals('<rdf:RDF', trim(substr(trim(Filter::stripXmlTag($data)), 0, 8)));
 }
Exemplo n.º 2
0
 /**
  * Constructor.
  *
  * @param string $content       Feed content
  * @param string $http_encoding HTTP encoding (headers)
  * @param string $fallback_url  Fallback url when the feed provide relative or broken url
  */
 public function __construct($content, $http_encoding = '', $fallback_url = '')
 {
     $this->fallback_url = $fallback_url;
     $xml_encoding = XmlParser::getEncodingFromXmlTag($content);
     // Strip XML tag to avoid multiple encoding/decoding in the next XML processing
     $this->content = Filter::stripXmlTag($content);
     // Encode everything in UTF-8
     Logger::setMessage(get_called_class() . ': HTTP Encoding "' . $http_encoding . '" ; XML Encoding "' . $xml_encoding . '"');
     $this->content = Encoding::convert($this->content, $xml_encoding ?: $http_encoding);
     $this->itemPostProcessor = new ItemPostProcessor($this->config);
     $this->itemPostProcessor->register(new ContentGeneratorProcessor($this->config));
     $this->itemPostProcessor->register(new ContentFilterProcessor($this->config));
 }
Exemplo n.º 3
0
 /**
  * Constructor
  *
  * @access public
  * @param  string  $content          Feed content
  * @param  string  $http_encoding    HTTP encoding (headers)
  * @param  string  $fallback_url     Fallback url when the feed provide relative or broken url
  */
 public function __construct($content, $http_encoding = '', $fallback_url = '')
 {
     $this->date = new DateParser();
     $this->fallback_url = $fallback_url;
     $xml_encoding = XmlParser::getEncodingFromXmlTag($content);
     // Strip XML tag to avoid multiple encoding/decoding in the next XML processing
     $this->content = Filter::stripXmlTag($content);
     // Encode everything in UTF-8
     Logger::setMessage(get_called_class() . ': HTTP Encoding "' . $http_encoding . '" ; XML Encoding "' . $xml_encoding . '"');
     $this->content = Encoding::convert($this->content, $xml_encoding ?: $http_encoding);
     // Workarounds
     $this->content = Filter::normalizeData($this->content);
 }