PHPackages                             yusufkandemir/microdata-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. yusufkandemir/microdata-parser

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

yusufkandemir/microdata-parser
==============================

Parse microdata from HTML documents with ease. PHP Implementation of W3C Microdata to JSON Specification.

v1.0.1(2y ago)1756.1k↓34.4%10MITPHPPHP ^8.1

Since Dec 18Pushed 2y ago2 watchersCompare

[ Source](https://github.com/yusufkandemir/microdata-parser)[ Packagist](https://packagist.org/packages/yusufkandemir/microdata-parser)[ Docs](https://github.com/yusufkandemir/microdata-parser)[ RSS](/packages/yusufkandemir-microdata-parser/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (3)Versions (5)Used By (0)

microdata-parser
================

[](#microdata-parser)

[![Latest Version on Packagist](https://camo.githubusercontent.com/2da00bf16faffaa53e0f8b621f46b333a8dbbb849eb2829d7102d23378c498f7/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f79757375666b616e64656d69722f6d6963726f646174612d7061727365722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/yusufkandemir/microdata-parser)[![PHP Version Support](https://camo.githubusercontent.com/3a4968c94e9b134a1417b361027b18482c193eec9cd890c3162a1bfe676e9df8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f79757375666b616e64656d69722f6d6963726f646174612d7061727365723f7374796c653d666c61742d737175617265)](https://packagist.org/packages/yusufkandemir/microdata-parser)[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE.md)[![Tests](https://camo.githubusercontent.com/b9f27b0006724f6984d01e52378ac2b3cfc5524e1832918521023fc01f50f5cf/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f79757375666b616e64656d69722f6d6963726f646174612d7061727365722f72756e2d74657374732e796d6c3f7374796c653d666c61742d737175617265266c6f676f3d676974687562266c6162656c3d7465737473)](https://github.com/yusufkandemir/microdata-parser/actions/workflows/run-tests.yml)[![Quality Checks](https://camo.githubusercontent.com/b4102e569589f8e4e969599404ab62a19a6dea20073ce93914c9e275b7fa5042/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f79757375666b616e64656d69722f6d6963726f646174612d7061727365722f616e616c797a652d7175616c6974792e796d6c3f7374796c653d666c61742d737175617265266c6f676f3d676974687562266c6162656c3d7175616c697479)](https://github.com/yusufkandemir/microdata-parser/actions/workflows/analyze-quality.yml)[![Total Downloads](https://camo.githubusercontent.com/2829f451f45d8e2645e57088e4d162d2045085ddb6aaea0f565317c57cabec93/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f79757375666b616e64656d69722f6d6963726f646174612d7061727365722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/yusufkandemir/microdata-parser)

This package aims to implement [W3C Microdata to JSON Specification](https://www.w3.org/TR/microdata/#json).

**microdata-parser** extracts microdata from documents.

Installation
------------

[](#installation)

Via Composer

```
$ composer require yusufkandemir/microdata-parser
```

Usage
-----

[](#usage)

##### PHP

[](#php)

```
use YusufKandemir\MicrodataParser\Microdata;

$microdata = Microdata::fromHTMLFile('source.html')->toJSON();
/* Other sources:
     fromHTML()        // from HTML string
     fromDOMDocument() // from DOMDocument object
   Other output methods:
     toArray()  // to Associtive PHP Array
     toObject() // to PHP Object (stdClass)
*/
```

##### Source as HTML

[](#source-as-html)

```

    Test Product

```

##### Result as JSON

[](#result-as-json)

```
{
  "items": [
    {
      "type": [ "http://schema.org/Product" ],
      "properties": {
        "image": [ "http://shop.example.com/test_product.jpg" ],
        "url": [ "http://shop.example.com/test_product" ],
        "name": [ "Test Product" ]
      }
    }
  ]
}
```

Testing
-------

[](#testing)

```
$ composer test
```

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for details.

Credits
-------

[](#credits)

- [Yusuf Kandemir](https://github.com/yusufkandemir)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity40

Moderate usage in the ecosystem

Community14

Small or concentrated contributor base

Maturity73

Established project with proven stability

 Bus Factor1

Top contributor holds 98.4% 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

Every ~981 days

Total

3

Last Release

747d ago

Major Versions

v0.1.0 → v1.0.02022-04-03

PHP version history (2 changes)v0.1.0PHP ~7.0

v1.0.0PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/e4846f1c83f1a8b4431fb5fed9f65951292b52d3b9b752f3ed136020b60f6c8a?d=identicon)[yusufkandemir](/maintainers/yusufkandemir)

---

Top Contributors

[![yusufkandemir](https://avatars.githubusercontent.com/u/6266078?v=4)](https://github.com/yusufkandemir "yusufkandemir (63 commits)")[![eboye](https://avatars.githubusercontent.com/u/624357?v=4)](https://github.com/eboye "eboye (1 commits)")

---

Tags

microdataparserphp-libraryjsonparserW3CWHATWGmicrodata

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/yusufkandemir-microdata-parser/health.svg)

```
[![Health](https://phpackages.com/badges/yusufkandemir-microdata-parser/health.svg)](https://phpackages.com/packages/yusufkandemir-microdata-parser)
```

###  Alternatives

[salsify/json-streaming-parser

A streaming parser for JSON in PHP.

7766.7M15](/packages/salsify-json-streaming-parser)[cerbero/json-parser

Zero-dependencies pull parser to read large JSON from any source in a memory-efficient way.

803474.6k5](/packages/cerbero-json-parser)[pcrov/jsonreader

JSON Pull Parser

1451.2M5](/packages/pcrov-jsonreader)[bcncommerce/json-stream

A bundle of tools to work with JSON in PHP

642.2M3](/packages/bcncommerce-json-stream)[t1gor/robots-txt-parser

PHP class to parse robots.txt rules according to Google, Yandex, W3C and The Web Robots Pages specifications.

85494.6k4](/packages/t1gor-robots-txt-parser)[laktak/hjson

JSON for Humans. A configuration file format with relaxed syntax, fewer mistakes and more comments.

86233.7k12](/packages/laktak-hjson)

PHPackages © 2026

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