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.5.0(1y ago)323.1k↓20%1[1 issues](https://github.com/straschek-io/typo3-hyphenator/issues)[2 PRs](https://github.com/straschek-io/typo3-hyphenator/pulls)GPL-2.0-or-laterPHP

Since Sep 29Pushed 1y 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 master Synced 2d ago

READMEChangelogDependencies (2)Versions (9)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)

I tried several PHP based DOM parsers, but they all significantly suffered from complexity and performance issues.

The replacement now is implemented in a super simple way via `preg_replace()`. This may and will not cover all cases. Maybe I failed on it, but this approach IMHO works best:
simple &amp; fast.

If you have improvement suggestions, [find the used regular expression on regex101.com](https://regex101.com/r/TqEXaV/1).
I am open to enhance this.

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

[](#compatibility)

Compatible with TYPO3 10.4+
Tested manually. No automated tests planned (so far).

Works for me, may work for you.

###  Health Score

38

—

LowBetter than 83% of packages

Maintenance41

Moderate activity, may be stable

Popularity30

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity60

Established project with proven stability

 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

Every ~245 days

Recently: every ~408 days

Total

8

Last Release

388d 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 (14 commits)")

###  Code Quality

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

103519.9k53](/packages/friendsoftypo3-content-blocks)[wazum/sluggi

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

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

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

169.3M231](/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.2M317](/packages/typo3-cms-lowlevel)[typo3/cms-redirects

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

167.4M80](/packages/typo3-cms-redirects)[typo3/cms-form

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

147.6M266](/packages/typo3-cms-form)

PHPackages © 2026

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