PHPackages                             fwrw/text-helper - 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. fwrw/text-helper

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

fwrw/text-helper
================

library for text manipulation, including removing duplicate whitespaces and some common string operations

v1.0.0(2y ago)03MITPHPPHP &gt;=7.2.0

Since Jan 2Pushed 2y ago1 watchersCompare

[ Source](https://github.com/fwrw/text-helper)[ Packagist](https://packagist.org/packages/fwrw/text-helper)[ RSS](/packages/fwrw-text-helper/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

Text Helper
===========

[](#text-helper)

Text Helper is a PHP Library, that helps with text/string manipulation.

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

[](#installation)

To install, run this command inside your project directory in your terminal:

```
    composer require fwrw/text-helper
```

Usage/Examples
--------------

[](#usageexamples)

### To remove excessive whitespaces:

[](#to-remove-excessive-whitespaces)

```
  TextHelper::normalizeSpaces($text);
```

It will return the $text variable without them.

### To cut a text:

[](#to-cut-a-text)

```
  TextHelper::cut($text, $limit);
```

It will cut the variable $text in the limit passed by param $limit. you can also put a final string at the end:

```
  TextHelper::cut($text, $limit, $end);
```

In that case, the text will be cuted, and have a string (passed by param) at the end, example:

```
input
  TextHelper::cut($text, 20, "...");
```

```
out
  Lorem ipsum dolor am...
```

In order to avoid a word from separating in the middle, rather cut from the last whitespace by passing 'true' after the $end variable, by param:

```
input
  TextHelper::cut($text, 20, "...", true);
```

```
out
  Lorem ipsum dolor...
```

### To remove accents:

[](#to-remove-accents)

```
  TextHelper::stripAccents($text);
```

will return the $text variable cleaned, without any accent. Example:

```
input
  TextHelper::stripAccents("O dia está lindo");
```

```
out
  O dia esta lindo
```

### To remove special characters:

[](#to-remove-special-characters)

```
  TextHelper::clear($text);
```

will return the variable $text withour any special characters. You can also clear numbers and accents, just passin 'true' values by param:

```
input
  TextHelper::clear($text, $numbers, $accent);
```

in that case, the $text variable is going to be reformulated without any number, accent, or special character:

```
input
  TextHelper::clear("Bom dia, você está linda hoje!!1", true, true);
```

```
out
  Bom dia voce esta linda hoje
```

#### There are some other methods that are self-intuitive, feel free to read the code. :)

[](#there-are-some-other-methods-that-are-self-intuitive-feel-free-to-read-the-code-)

Author
------

[](#author)

- [@fwrw](https://www.github.com/fwrw)

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity37

Early-stage or recently created project

 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

Unknown

Total

1

Last Release

863d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/078fffbe7a45280010b918232995b62777f21c9931b594e193e0c00911823cc4?d=identicon)[fwrw](/maintainers/fwrw)

---

Top Contributors

[![fwrw](https://avatars.githubusercontent.com/u/135285467?v=4)](https://github.com/fwrw "fwrw (4 commits)")

### Embed Badge

![Health badge](/badges/fwrw-text-helper/health.svg)

```
[![Health](https://phpackages.com/badges/fwrw-text-helper/health.svg)](https://phpackages.com/packages/fwrw-text-helper)
```

###  Alternatives

[cerdic/css-tidy

CSSTidy is a CSS minifier

2092.0M6](/packages/cerdic-css-tidy)[lochmueller/calendarize

Create a structure for timely controlled tables (e.g. events) and one plugin for the different output of calendar views (list, detail, month, year, day, week...). The extension is shipped with one default event table, but you can also 'calendarize' your own table/model. It is completely independent and configurable! Use your own models as event items in this calender. Development on https://github.com/lochmueller/calendarize

77152.6k12](/packages/lochmueller-calendarize)[sitegeist/kaleidoscope

Responsive-images for Neos

29352.4k10](/packages/sitegeist-kaleidoscope)[jurchiks/numbers2words

It spells numbers (and currencies)!

20172.1k3](/packages/jurchiks-numbers2words)[giauphan/laravel-qr-code

QR Code Generator for PHP wrapper for Laravel

2765.4k1](/packages/giauphan-laravel-qr-code)[syholloway/mrcolor

Color manipulation tools and format conversion for PHP

14149.6k](/packages/syholloway-mrcolor)

PHPackages © 2026

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