PHPackages                             sitask/xml-feed-parser - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. sitask/xml-feed-parser

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

sitask/xml-feed-parser
======================

Framework-agnostic PHP parser for SITA (Slovenska tlacova agentura) XML news feeds.

2.1.6(yesterday)01↑2900%GPL-2.0-or-laterPHPPHP &gt;=7.4

Since Aug 25Pushed yesterdayCompare

[ Source](https://github.com/PayteR/sita-xml-feed-parser)[ Packagist](https://packagist.org/packages/sitask/xml-feed-parser)[ Docs](https://github.com/PayteR/sita-xml-feed-parser)[ RSS](/packages/sitask-xml-feed-parser/feed)WikiDiscussions main Synced today

READMEChangelogDependenciesVersions (2)Used By (0)

SITA XML Feed Parser
====================

[](#sita-xml-feed-parser)

PHP trieda na spracovanie XML kanálov agentúry **SITA** (Slovenská tlačová agentúra). Bez závislostí, bez frameworku — dostane XML, vráti pole článkov.

Je to presne ten istý kód, aký používa oficiálny [WordPress plugin SITA XML Importer](https://wordpress.org/plugins/sita-xml-importer/), len vytiahnutý samostatne pre tých, ktorí WordPress nepoužívajú.

> **Potrebujete prístup ku kanálom SITA.** Táto knižnica sama o sebe nemá čo spracovať. Záujem o prístup:  · ďalšie kontakty na [biz.sita.sk](https://biz.sita.sk/#kontakty)

---

Tri spôsoby použitia
--------------------

[](#tri-spôsoby-použitia)

### 1. Composer (odporúčané)

[](#1-composer-odporúčané)

```
composer require sitask/xml-feed-parser
```

### 2. Stiahnuť jeden súbor

[](#2-stiahnuť-jeden-súbor)

Ak nepoužívate Composer, stačí skopírovať jediný súbor [`src/FeedParser.php`](src/FeedParser.php) do projektu a načítať ho:

```
require_once 'cesta/k/FeedParser.php';
```

Trieda nemá žiadne závislosti okrem rozšírení `simplexml` a `libxml`, ktoré má PHP štandardne.

### 3. Máte WordPress? Použite plugin

[](#3-máte-wordpress-použite-plugin)

Nič programovať netreba — nainštalujte [SITA XML Importer](https://wordpress.org/plugins/sita-xml-importer/) z adresára pluginov. Rieši aj sťahovanie kanála, kategórie, obrázky, duplicity a plánovanie.

---

Použitie
--------

[](#použitie)

```
use Sita\XmlFeed\FeedParser;

$parser = new FeedParser();

// XML si stiahnete ako chcete - curl, Guzzle, file_get_contents...
$xml = file_get_contents('https://example.sita.sk/feed.xml?token=...');

$articles = $parser->parse($xml);

foreach ($articles as $article) {
    echo $article['title'], "\n";
    echo $article['thumbnail']['url'], "\n";
}

// Chyby sa nehádžu ako výnimky - jeden pokazený kanál nemá zhodiť celý beh.
foreach ($parser->get_errors() as $error) {
    error_log('SITA feed: ' . $error);
}
```

### Štruktúra článku

[](#štruktúra-článku)

```
[
    '_w_id'          => '12345',              // ID článku v SITA
    'u_id'           => 'abc-123',            // UnikatneID
    'date_published' => '2026-08-19',
    'time_publish'   => '10:30:00',
    'date_modified'  => '2026-08-19',
    'time_modified'  => '11:00:00',
    'title'          => 'Nadpis',
    'perex'          => 'Perex',
    'content'        => 'Telo článku', // HTML prefiltrované
    'section'        => ['category' => 'Ekonomika', 'sub_category' => 'Financie'],
    'locations'      => ['Bratislava'],
    'thumbnail'      => [
        'url'     => 'https://img.sita.sk/foto.jpg',
        'size'    => '2048',
        'width'   => '800',
        'height'  => '600',
        'caption' => 'Popis obrázka',  // null, ak kanál prvok neposiela
        'source'  => 'SITA/Ján Novák', // null, ak kanál prvok neposiela
    ],
]
```

### Vlastný zoznam povolených HTML značiek

[](#vlastný-zoznam-povolených-html-značiek)

```
$parser = new FeedParser('');
```

Predvolený zoznam je v `FeedParser::DEFAULT_ALLOWABLE_TAGS`.

---

Dôležité správanie
------------------

[](#dôležité-správanie)

- **Články bez obrázka sa preskakujú.** Ak `` chýba alebo je prázdny, článok sa do výsledku nedostane. Je to zámer, nie chyba.
- **`caption` a `source` môžu byť `null`.** `null` znamená „kanál prvok neposlal" (staršie kanály), prázdny reťazec znamená „poslal ho prázdny". Rozdiel je podstatný, ak podľa toho preberáte popis z IPTC metadát obrázka.
- **Nehádžu sa výnimky.** Pri pokazenom XML dostanete prázdne pole a dôvod v `get_errors()`.
- **Žiadne HTTP.** Sťahovanie kanála je na vás — knižnica pracuje len s reťazcom. Zámerne: každý má vlastné požiadavky na timeouty, retry a proxy.
- **XXE je blokované** (`LIBXML_NONET`).

---

Formát kanála
-------------

[](#formát-kanála)

Popis prvkov XML (``, ``, …) nájdete v dokumentácii pluginu: [docs/xml-format.md](https://github.com/PayteR/sita-xml-importer/blob/main/docs/xml-format.md)

Testy
-----

[](#testy)

```
php tests/parser-smoke-test.php
```

Bez PHPUnit a bez závislostí. Skončí nenulovým kódom pri prvej chybe.

Požiadavky
----------

[](#požiadavky)

PHP 7.4+ s rozšíreniami `simplexml` a `libxml`.

Licencia
--------

[](#licencia)

GPL-2.0-or-later — rovnaká ako WordPress plugin.

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance100

Actively maintained with recent releases

Popularity2

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity33

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/748bc8d25e6fe3b04070e14e5b459c82148b33412c2a0735f691a368c6964e81?d=identicon)[payter](/maintainers/payter)

---

Top Contributors

[![PayteR](https://avatars.githubusercontent.com/u/1248565?v=4)](https://github.com/PayteR "PayteR (2 commits)")

---

Tags

xmlparserfeed newsslovakiasita

### Embed Badge

![Health badge](/badges/sitask-xml-feed-parser/health.svg)

```
[![Health](https://phpackages.com/badges/sitask-xml-feed-parser/health.svg)](https://phpackages.com/packages/sitask-xml-feed-parser)
```

###  Alternatives

[masterminds/html5

An HTML5 parser and serializer.

1.8k280.1M362](/packages/masterminds-html5)[imangazaliev/didom

Simple and fast HTML parser

2.2k2.5M74](/packages/imangazaliev-didom)[orchestra/parser

XML Document Parser for Laravel and PHP

4591.8M7](/packages/orchestra-parser)[laravie/parser

XML Document Parser for PHP

2292.2M8](/packages/laravie-parser)[goetas-webservices/xsd-reader

Read any XML Schema (XSD) programmatically with PHP

625.3M23](/packages/goetas-webservices-xsd-reader)[vipnytt/sitemapparser

XML Sitemap parser class compliant with the Sitemaps.org protocol.

792.4M10](/packages/vipnytt-sitemapparser)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
