PHPackages                             oro/html5-purifier - 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. oro/html5-purifier

ActiveLibrary

oro/html5-purifier
==================

Adding HTML5 tags support to WYSIWYG editors

3.1.5(5y ago)00OSL-3.0PHP

Since Jul 30Pushed 5y ago5 watchersCompare

[ Source](https://github.com/oroinc/OroHTML5PurifierExtension)[ Packagist](https://packagist.org/packages/oro/html5-purifier)[ RSS](/packages/oro-html5-purifier/feed)WikiDiscussions 3.1 Synced 1w ago

READMEChangelog (1)Dependencies (2)Versions (7)Used By (0)

Html5PurifierBundle
===================

[](#html5purifierbundle)

The purpose of this bundle is to add `xemlock/htmlpurifier-html5` library support without introducing the BC break. The library adds support for HTML5 tags to HTMLPurifier. The bundle also adds the ability to switch between three purification modes:

- `strict` - filter html elements and attributes by white list. Style and iframe elements are not allowed.
- `extended` - same as strict but style and iframe elements are allowed.
- `disabled` - HTML Purifier is disabled completely.

The modes are switched with `html_purifier_mode` config setting in [package/html5-purifier/Resources/config/oro/app.yml](package/html5-purifier/Resources/config/oro/app.yml)

### How to Extend the List of Supported Elements and Attributes in Html5Purifier

[](#how-to-extend-the-list-of-supported-elements-and-attributes-in-html5purifier)

Sometimes it may be necessary to add additional elements or attributes to the Html5Purifier config. To add a custom element, decorate the `oro_html5_purifier.html_tag_helper` service.

```
services:
    ...
    acme.html_tag_helper:
        decorates: oro_html5_purifier.html_tag_helper
        parent: oro_html5_purifier.html_tag_helper
        calls:
            # map element
            - ['setElement', ['map', 'Block', 'Flow', 'Common', true]]
            # map attributes
            - ['setAttribute', ['map', 'id', 'ID']]
            - ['setAttribute', ['map', 'name', 'CDATA']]
```

Next, add the `map` element and attributes into the purifier config in the `app.yml` file in your bundle.

```
oro_form:
    wysiwyg:
        html_allowed_elements:
            map:
                attributes:
                    - id
                    - name
```

Now you can use the `map` tag and its `id` and `name` attributes in all WYSIWYG fields.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity0

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~91 days

Recently: every ~120 days

Total

7

Last Release

1936d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/30661063?v=4)[Oro, Inc](/maintainers/orocrm)[@orocrm](https://github.com/orocrm)

---

Top Contributors

[![ValeriyYustunyk](https://avatars.githubusercontent.com/u/6986327?v=4)](https://github.com/ValeriyYustunyk "ValeriyYustunyk (2 commits)")[![vitaliyberdylo](https://avatars.githubusercontent.com/u/1668719?v=4)](https://github.com/vitaliyberdylo "vitaliyberdylo (2 commits)")[![Grygir](https://avatars.githubusercontent.com/u/131182?v=4)](https://github.com/Grygir "Grygir (1 commits)")[![vdrizheruk](https://avatars.githubusercontent.com/u/1352514?v=4)](https://github.com/vdrizheruk "vdrizheruk (1 commits)")[![vetal-e](https://avatars.githubusercontent.com/u/908756?v=4)](https://github.com/vetal-e "vetal-e (1 commits)")[![x86demon](https://avatars.githubusercontent.com/u/196506?v=4)](https://github.com/x86demon "x86demon (1 commits)")

### Embed Badge

![Health badge](/badges/oro-html5-purifier/health.svg)

```
[![Health](https://phpackages.com/badges/oro-html5-purifier/health.svg)](https://phpackages.com/packages/oro-html5-purifier)
```

###  Alternatives

[oro/platform

Business Application Platform (BAP)

644134.8k84](/packages/oro-platform)[bolt/core

🧿 Bolt Core

585142.5k54](/packages/bolt-core)[oro/crm

OroCRM

67583.2k24](/packages/oro-crm)[oro/platform-application

Oro Platform Empty Application

2401.4k](/packages/oro-platform-application)[oro/commerce

OroCommerce - an open-source Business to Business Commerce application. \\nThis package contains bundles and needs to be added as a dependency in an OroCommerce application.

20547.6k62](/packages/oro-commerce)[alfredo-ramos/parsedown-extra-laravel

A Parsedown Extra package for Laravel

30155.1k1](/packages/alfredo-ramos-parsedown-extra-laravel)

PHPackages © 2026

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