PHPackages                             apemsel/attributed-string - 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. apemsel/attributed-string

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

apemsel/attributed-string
=========================

A collection of fast and easy to use attributed string classes for PHP. Attributed strings can have multiple attributes for each character of the string and are for example used for word processors and natural language processing.

v3.0.0(2y ago)1555MITPHP &gt;=8.1

Since Feb 20Compare

[ Source](https://github.com/apemsel/AttributedString)[ Packagist](https://packagist.org/packages/apemsel/attributed-string)[ Docs](http://github.com/apemsel/AttributedString)[ RSS](/packages/apemsel-attributed-string/feed)WikiDiscussions Synced 1mo ago

READMEChangelogDependencies (1)Versions (26)Used By (0)

### README not available

The README for this package hasn't been synced yet. View it on [GitHub](https://github.com/apemsel/AttributedString).

###  Health Score

35

—

LowBetter than 79% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity82

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 99.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 ~128 days

Recently: every ~735 days

Total

24

Last Release

770d ago

Major Versions

v0.7.0-beta → v1.0.02016-03-02

v1.5.3 → v2.0.02016-03-16

v2.0.0 → v3.0.02024-03-29

PHP version history (3 changes)v0.0.1-alphaPHP &gt;=5.4

v0.5.0-alphaPHP &gt;=5.5

v3.0.0PHP &gt;=8.1

### Community

Maintainers

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

---

Top Contributors

[![apemsel](https://avatars.githubusercontent.com/u/196454?v=4)](https://github.com/apemsel "apemsel (165 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")

---

Tags

stringlanguagetokentexttokenizeranalysisnlpattributemutablespanattributedtokenized

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/apemsel-attributed-string/health.svg)

```
[![Health](https://phpackages.com/badges/apemsel-attributed-string/health.svg)](https://phpackages.com/packages/apemsel-attributed-string)
```

###  Alternatives

[rajentrivedi/tokenizer-x

TokenizerX calculates required tokens for given prompt

91214.0k3](/packages/rajentrivedi-tokenizer-x)[creof/wkb-parser

Parser for well-known binary (WKB/EWKB) object data

615.1M16](/packages/creof-wkb-parser)[creof/geo-parser

Parser for geography coordinate strings

624.4M15](/packages/creof-geo-parser)[creof/wkt-parser

Parser for well-known text (WKT) object strings

554.8M16](/packages/creof-wkt-parser)[hybridlogic/classifier

A Naive Bayesian classification library for PHP with support for different tokenizers to optimize string classification.

801.4k](/packages/hybridlogic-classifier)[funivan/php-tokenizer

Wrapper around token\_get\_all. Easy to extract and modify php code.

1238.5k2](/packages/funivan-php-tokenizer)

PHPackages © 2026

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