PHPackages                             straschek-io/typo3-hyphenator - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. straschek-io/typo3-hyphenator

ActiveTypo3-cms-extension[Utility &amp; Helpers](/categories/utility)

straschek-io/typo3-hyphenator
=============================

Provides soft-hyphen replacement for TYPO3

1.7.0(3w ago)323.2k↓18.8%1GPL-2.0-or-laterPHPCI passing

Since Sep 29Pushed 3w ago1 watchersCompare

[ Source](https://github.com/straschek-io/typo3-hyphenator)[ Packagist](https://packagist.org/packages/straschek-io/typo3-hyphenator)[ RSS](/packages/straschek-io-typo3-hyphenator/feed)WikiDiscussions main Synced 2w ago

READMEChangelogDependencies (5)Versions (13)Used By (0)

TYPO3 Hyphenator
================

[](#typo3-hyphenator)

This extension allows you to add soft-hyphen definitions to your TYPO3.
Those rules will be applied to the frontend at the end of your middleware stack.

This extension aims to give you full control about HOW you want specific terms to break in case of having limited space. There are other client- &amp; server-side solutions out there which do all the magic w/o you having to provide specifications, but they may result in endlessly huge pain on designer and customer sites.

So as a simple example, this extension allows you to NOT have break like this:

> ... ... .. ..... ... Ar-
> beiterunfallversicherungsgesetz

> ... ... .. ..... Arbeiterun-
> fallversicherungsgesetz

> Arbeiterun-
> fallver-
> sicherungsge-
> setz

You can have this:

> ... ... .. ..... ... Arbeiter-
> unfallversicherungsgesetz

> ... ... .. ..... Arbeiterunfall-
> versicherungsgesetz

> Arbeiter-
> unfall-
> versicherungs-
> gesetz

**YAY!**

How to install
--------------

[](#how-to-install)

```
composer require straschek-io/typo3-hyphenator
vendor/bin/typo3 extension:activate typo3_hyphenator

```

No further configuration needed.

How to use
----------

[](#how-to-use)

[![Screenshot of the TYPO3 backend with a record example](./Documentation/record.png "Record example")](./Documentation/record.png)

1. Just add a "Hyphenator term" record and clear the TYPO3 cache
2. Reload your frontend

The `pid` field is not evaluated, so simply drop the records into a sys folder to your liking.

Good to know
------------

[](#good-to-know)

- Replacement happens in a PSR-15 middleware and only touches `text/html` responses. JSON, XML sitemaps and other content types pass through untouched.
- The parser works in a single `preg_replace_callback()` pass over the rendered HTML. Tags and their attributes, ``, ``, ``, `` and HTML comments are never touched.
- Terms are matched literally (no regular expressions in the "from" field) and must start at a word boundary.
- Prefix matching is intended behavior: a term like `Arbeit` also hyphenates the beginning of `Arbeitsamt`. If several terms match, the longest one wins.
- DOM-based parsing (libxml `DOMDocument`, `Masterminds\HTML5`) was evaluated and benchmarked, but both were orders of magnitude slower than the single regex pass: simple &amp; fast still wins.

Development
-----------

[](#development)

```
./Build/dev-setup.sh

```

Bootstraps a full TYPO3 dev instance (DDEV required) with a seeded test page, demo content and hyphenation terms.
Frontend:  — Backend: `/typo3` (`admin` / `Hyphenator14!`)
Run tests with `ddev composer test`, code style with `ddev composer cs`.

Compatibility
-------------

[](#compatibility)

Compatible with TYPO3 12.4, 13.4 and 14.3
Parser and middleware are covered by PHPUnit tests (`composer test`), running in CI on PHP 8.2 – 8.5 against all three supported TYPO3 versions.

Works for me, may work for you.

###  Health Score

53

—

FairBetter than 96% of packages

Maintenance95

Actively maintained with recent releases

Popularity29

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 92% 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 ~213 days

Recently: every ~233 days

Total

11

Last Release

22d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/22239902?v=4)[Michael Straschek](/maintainers/straschek-io)[@straschek-io](https://github.com/straschek-io)

---

Top Contributors

[![straschek-io](https://avatars.githubusercontent.com/u/22239902?v=4)](https://github.com/straschek-io "straschek-io (23 commits)")[![mockmeup](https://avatars.githubusercontent.com/u/6339937?v=4)](https://github.com/mockmeup "mockmeup (2 commits)")

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/straschek-io-typo3-hyphenator/health.svg)

```
[![Health](https://phpackages.com/badges/straschek-io-typo3-hyphenator/health.svg)](https://phpackages.com/packages/straschek-io-typo3-hyphenator)
```

###  Alternatives

[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

103574.3k70](/packages/friendsoftypo3-content-blocks)[wazum/sluggi

TYPO3 extension for URL slug management with inline editing, auto-sync, locking, access control, and redirects

40543.5k](/packages/wazum-sluggi)[typo3/cms-scheduler

TYPO3 CMS Scheduler - Schedule tasks to run once or periodically at a specific time.

169.5M271](/packages/typo3-cms-scheduler)[typo3/cms-lowlevel

TYPO3 CMS Lowlevel - Technical analysis of the system. This includes raw database search, checking relations, counting pages and records etc.

178.3M359](/packages/typo3-cms-lowlevel)[typo3/cms-redirects

TYPO3 CMS Redirects - Create manual redirects, list existing redirects and automatically createredirects on slug changes.

167.6M84](/packages/typo3-cms-redirects)[typo3/cms-form

TYPO3 CMS Form - Flexible TYPO3 frontend form framework that comes with a backend editor interface.

147.8M288](/packages/typo3-cms-form)

PHPackages © 2026

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