statamic/stringy
A string manipulation library with multibyte support, forked from @statamic
3.1.3
5.3M downloads/mo
#1605 most downloaded on Packagist
statamic/Stringy
What this package is like to depend on
Last release 4 years ago
no release in 18 months
Release timing varies
gaps range from 6 weeks to 1.9 years
Nearly every release is documented
notes for 29 of 29 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
30 releases · first in 2013
0 releases in the last 12 months
see the full history below
Release timeline
30 releases · Jul 2013 to May 2022
2014
2016
2018
2020
2022
2024
2026
Releases
latest 30-
3.1.304 May 2022 -
3.1.209 Dec 2020Release notes
Open source →Merge pull request #1 from simonhamp/patch-1
Add replace config to composer.json
-
3.1.111 Jan 2019 -
3.1.012 Jun 2017Release notes
Open source →- Add $language support to slugify
- Add bg specific transliteration
- ЬЪ/ьъ handling is now language-specific
-
3.0.112 Apr 2017Release notes
Open source →- Don't replace @ in toAscii
- Use normal replacement for @ in slugify, e.g. user@home => user-home
-
3.0.009 Mar 2017Release notes
Open source →- Breaking change: added $language parameter to toAscii, before $removeUnsupported
- Breaking change: dropped PHP 5.3 support
- Breaking change: any StaticStringy methods that previously returned instances of Stringy now return strings
-
2.4.002 Mar 2017Release notes
Open source →- Add startsWithAny
- Add endsWithAny
- Add stripWhitespace
- Fix error handling for unsupported encodings
- Change private methods to protected for extending class
- Fix safeTruncate for strings without spaces
- Additional char support in toAscii, e.g. full width chars and wide non-breaking space
-
2.3.202 May 2016 -
2.3.121 Mar 2016 -
2.3.020 Mar 2016Release notes
Open source →- Add Persian characters in Stringy::charsArray()
- Use symfony/polyfill-mbstring to avoid dependency on ext-mbstring
-
2.2.021 Dec 2015Release notes
Open source →- isJSON now returns false for empty strings
- Update for German umlaut transformation
- Use reflection to generate method list for StaticStringy
- Added isBase64 method
- Improved toAscii char coverage
-
2.1.003 Sep 2015Release notes
Open source →- Added simplified StaticStringy class
- str in Stringy::create and constructor is now optional
-
2.0.029 Jul 2015Release notes
Open source →- Removed StaticStringy class
- Added append, prepend, toBoolean, repeat, between, slice, split, and lines
- camelize/upperCamelize now strip leading dashes and underscores
- titleize converts to lowercase, thus no longer preserving acronyms
-
1.10.023 Jul 2015Release notes
Open source →- Added trimLeft, trimRight
- Added support for unicode whitespace to trim
- Added delimit
- Added indexOf and indexOfLast
- Added htmlEncode and htmlDecode
- Added "Ç" in toAscii()
-
1.9.010 Feb 2015Release notes
Open source →- Added hasUpperCase and hasLowerCase
- Added $removeUnsupported parameter to toAscii()
- Improved toAscii support with additional Unicode spaces, Vietnamese chars, and numerous other characters
- Separated the charsArray from toAscii as a protected method that may be extended by inheriting classes
- Chars array is cached for better performance
-
1.8.108 Jan 2015Release notes
Open source →- Optimized chars()
- Added "ä Ä Ö Ü"" in toAscii()
- Added support for Unicode spaces in toAscii()
- Replaced instances of self::create() with static::create()
- Added missing test cases for safeTruncate() and longestCommonSuffix()
- Updated Stringy\create() to avoid collision when it already exists
-
1.8.004 Jan 2015Release notes
Open source →- Listed ext-mbstring in composer.json
- Added Stringy\create function for PHP 5.6
-
1.7.015 Oct 2014 -
1.6.014 Sep 2014 -
1.5.209 Jul 2014 -
1.5.119 Apr 2014Release notes
Open source →- Fixed toAscii() failing to remove remaining non-ascii characters
- Updated slugify() to treat dash and underscore as delimiters by default
- Updated slugify() to remove leading and trailing delimiter, if present
- Fixed toAscii() failing to remove remaining non-ascii characters
-
1.5.019 Mar 2014Release notes
Open source →- Made both str and encoding protected, giving property access to subclasses
- Added getEncoding()
- Fixed isJSON() giving false negatives
- Cleaned up and simplified: replace(), collapseWhitespace(), underscored(), dasherize(), pad(), padLeft(), padRight() and padBoth()
- Fixed handling consecutive invalid chars in slugify()
- Removed conflicting hard sign transliteration in toAscii()
- Made both str and encoding protected, giving property access to subclasses
-
1.4.013 Feb 2014Release notes
Open source →- Implemented the IteratorAggregate interface, added chars()
- Renamed count() to countSubstr()
- Updated count() to implement Countable interface
- Implemented the ArrayAccess interface with positive and negative indices
- Switched from PSR-0 to PSR-4 autoloading
- Implemented the IteratorAggregate interface, added chars()
-
1.3.017 Dec 2013Release notes
Open source →- Additional Bulgarian support for toAscii
- str property made private
- Constructor casts first argument to string
- Constructor throws an InvalidArgumentException when given an array
- Constructor throws an InvalidArgumentException when given an object without a __toString method
- Additional Bulgarian support for toAscii
-
1.2.205 Dec 2013Release notes
Open source →- Updated create function to use late static binding
- Added optional $replacement param to slugify
- Updated create function to use late static binding
-
1.2.111 Oct 2013 -
1.2.015 Sep 2013Release notes
Open source →- Fixed pad's use of InvalidArgumentException
- Fixed replace(). It now correctly treats regex special chars as normal chars
- Added additional Cyrillic letters to toAscii
- Added $caseSensitive to contains() and count()
- Added toLowerCase()
- Added toUpperCase()
- Added regexReplace()
- Fixed pad's use of InvalidArgumentException
-
1.1.031 Aug 2013Release notes
Open source →- Fix for collapseWhitespace()
- Added isHexadecimal()
- Added constructor to Stringy\Stringy
- Added isSerialized()
- Added isJson()
- Fix for collapseWhitespace()
-
1.0.001 Aug 2013Release notes
Open source →- 1.0.0 release
- Added test coverage for Stringy::create and method chaining
- Added tests for returned type
- Fixed StaticStringy::replace(). It was returning a Stringy object instead of string
- Renamed standardize() to the more appropriate toAscii()
- Cleaned up comments and README
- 1.0.0 release
-
1.0.0-rc.129 Jul 2013 pre-release