1
0
mirror of https://github.com/danielstjules/Stringy.git synced 2025-08-13 16:53:59 +02:00

Fix missing params in StaticStringy comments, re-order methods in README

This commit is contained in:
Daniel St. Jules
2013-07-27 18:17:38 -04:00
parent a93955162e
commit 013e42dfce
2 changed files with 423 additions and 419 deletions

835
README.md
View File

@@ -7,49 +7,48 @@ Note: The methods listed below are subject to change until we reach a 1.0.0 rele
* [Requiring/Loading](#requiringloading)
* [OO and Procedural](#oo-and-procedural)
* [Methods](#methods)
* [create](#create)
* [upperCaseFirst](#uppercasefirst)
* [lowerCaseFirst](#lowercasefirst)
* [at](#at)
* [camelize](#camelize)
* [upperCamelize](#uppercamelize)
* [dasherize](#dasherize)
* [underscored](#underscored)
* [swapCase](#swapcase)
* [titleize](#titleize)
* [humanize](#humanize)
* [tidy](#tidy)
* [collapseWhitespace](#collapsewhitespace)
* [standardize](#standardize)
* [pad](#pad)
* [padLeft](#padleft)
* [padRight](#padright)
* [padBoth](#padboth)
* [startsWith](#startswith)
* [endsWith](#endswith)
* [toSpaces](#tospaces)
* [toTabs](#totabs)
* [slugify](#slugify)
* [contains](#contains)
* [surround](#surround)
* [create](#create)
* [dasherize](#dasherize)
* [endsWith](#endswith)
* [ensureLeft](#ensureleft)
* [ensureRight](#ensureright)
* [first](#first)
* [humanize](#humanize)
* [insert](#insert)
* [truncate](#truncate)
* [safeTruncate](#safetruncate)
* [reverse](#reverse)
* [shuffle](#shuffle)
* [last](#last)
* [length](#length)
* [longestCommonPrefix](#longestcommonprefix)
* [longestCommonSuffix](#longestcommonsuffix)
* [longestCommonSubstring](#longestcommonsubstring)
* [length](#length)
* [substr](#substr)
* [at](#at)
* [first](#first)
* [last](#last)
* [ensureLeft](#ensureleft)
* [ensureRight](#ensureright)
* [chompLeft](#chompleft)
* [chompRight](#chompright)
* [lowerCaseFirst](#lowercasefirst)
* [pad](#pad)
* [padBoth](#padboth)
* [padLeft](#padleft)
* [padRight](#padright)
* [removeLeft](#removeleft)
* [removeRight](#removeright)
* [reverse](#reverse)
* [safeTruncate](#safetruncate)
* [shuffle](#shuffle)
* [slugify](#slugify)
* [standardize](#standardize)
* [startsWith](#startswith)
* [substr](#substr)
* [surround](#surround)
* [swapCase](#swapcase)
* [tidy](#tidy)
* [titleize](#titleize)
* [toSpaces](#tospaces)
* [toTabs](#totabs)
* [trim](#trim)
* [truncate](#truncate)
* [underscored](#underscored)
* [upperCamelize](#uppercamelize)
* [upperCaseFirst](#uppercasefirst)
* [Tests](#tests)
* [License](#license)
@@ -113,44 +112,17 @@ method in Stringy\StaticStringy. For all others, they're found in Stringy\String
*Note: If $encoding is not given, it defaults to mb_internal_encoding().*
##### create
##### at
$stringy = S::create(string $str, [, $encoding ])
$stringy->at(int $index)
Creates a Stringy object and assigns both str and encoding properties
the supplied values. If $encoding is not specified, it defaults to
mb_internal_encoding(). It then returns the instantiated object.
S::substr(int $index [, string $encoding ])
Gets the character of $str at $index, with indexes starting at 0.
```php
S::create('fòô bàř', 'UTF-8'); // 'fòô bàř'
```
##### upperCaseFirst
$stringy->upperCaseFirst();
S::upperCaseFirst(string $str [, string $encoding ])
Converts the first character of the supplied string to upper case, with
support for multibyte strings.
```php
S::create('σ test', 'UTF-8')->upperCaseFirst();
S::upperCaseFirst('σ test', 'UTF-8'); // 'Σ test'
```
##### lowerCaseFirst
$stringy->lowerCaseFirst();
S::lowerCaseFirst(string $str [, string $encoding ])
Converts the first character of the supplied string to lower case, with
support for multibyte strings.
```php
S::create('Σ test', 'UTF-8')->lowerCaseFirst();
S::lowerCaseFirst('Σ test', 'UTF-8'); // 'σ test'
S::create('fòô bàř', 'UTF-8')->at(6);
S::at('fòô bàř', 6, 'UTF-8'); // 'ř'
```
##### camelize
@@ -168,19 +140,43 @@ S::create('Camel-Case')->camelize();
S::camelize('Camel-Case'); // 'camelCase'
```
##### upperCamelize
##### collapseWhitespace
$stringy->upperCamelize();
$stringy->collapseWhitespace()
S::upperCamelize(string $str [, string $encoding ])
S::collapseWhitespace(string $str)
Returns an UpperCamelCase version of a supplied string, with multibyte
support. Trims surrounding spaces, capitalizes letters following digits,
spaces, dashes and underscores, and removes spaces, dashes, underscores.
Trims the string and replaces consecutive whitespace characters with a
single space. This inclues tabs and newline characters.
```php
S::create('Upper Camel-Case')->upperCamelize();
S::upperCamelize('Upper Camel-Case'); // 'UpperCamelCase'
S::create(' Ο συγγραφέας ')->collapseWhitespace();
S::collapseWhitespace(' Ο συγγραφέας '); // 'Ο συγγραφέας'
```
##### contains
$stringy->contains(string $needle)
S::contains(string $haystack, string $needle [, string $encoding ])
Returns true if $haystack contains $needle, false otherwise.
```php
S::create('Ο συγγραφέας είπε', 'UTF-8')->contains('συγγραφέας');
S::contains('Ο συγγραφέας είπε', 'συγγραφέας', 'UTF-8') // true
```
##### create
$stringy = S::create(string $str, [, $encoding ])
Creates a Stringy object and assigns both str and encoding properties
the supplied values. If $encoding is not specified, it defaults to
mb_internal_encoding(). It then returns the instantiated object.
```php
S::create('fòô bàř', 'UTF-8'); // 'fòô bàř'
```
##### dasherize
@@ -199,51 +195,58 @@ S::create('TestDCase')->dasherize();
S::dasherize('TestDCase'); // 'test-d-case'
```
##### underscored
##### endsWith
$stringy->underscored();
$stringy->endsWith(string $substring [, boolean $caseSensitive = true ])
S::underscored(string $str [, string $encoding ])
S::endsWith(string $str, string $substring [, boolean $caseSensitive = true [, string $encoding ]])
Returns a lowercase and trimmed string seperated by underscores, with
multibyte support. Underscores are inserted before uppercase characters
(with the exception of the first character of the string), and in place
of spaces as well as dashes.
Returns true if the string $str ends with $substring, false otherwise.
By default, the comparison is case-sensitive, but can be made insensitive
by setting $caseSensitive to false.
```php
S::create('TestUCase')->underscored();
S::underscored('TestUCase'); // 'test_u_case'
S::create('FÒÔ bàřs', 'UTF-8')->endsWith('àřs', true);
S::endsWith('FÒÔ bàřs', 'àřs', true, 'UTF-8'); // true
```
##### swapCase
##### ensureLeft
$stringy->swapCase();
$stringy->ensureLeft(string $substring)
S::swapCase(string $str [, string $encoding ])
S::ensureLeft(string $substring [, string $encoding ])
Returns a case swapped version of a string.
Ensures that $str begins with $substring.
```php
S::create('Ντανιλ', 'UTF-8')->swapCase();
S::swapCase('Ντανιλ', 'UTF-8'); // 'νΤΑΝΙΛ'
S::create('foobar')->ensureLeft('http://');
S::ensureLeft('foobar', 'http://'); // 'http://foobar'
```
##### titleize
##### ensureRight
$stringy->titleize([ string $encoding ])
$stringy->ensureRight(string $substring)
S::titleize(string $str [, array $ignore [, string $encoding ]])
S::ensureRight(string $substring [, string $encoding ])
Capitalizes the first letter of each word in a string, after trimming.
Ignores the case of other letters, allowing for the use of acronyms.
Also accepts an array, $ignore, allowing you to list words not to be
capitalized.
Ensures that $str ends with $substring.
```php
$ignore = array('at', 'by', 'for', 'in', 'of', 'on', 'out', 'to', 'the');
S::create('i like to watch DVDs at home', 'UTF-8')->titleize($ignore);
S::titleize('i like to watch DVDs at home', $ignore, 'UTF-8');
// 'I Like to Watch DVDs at Home'
S::create('foobar')->ensureRight('.com');
S::ensureRight('foobar', '.com'); // 'foobar.com'
```
##### first
$stringy->first(int $n)
S::first(int $n [, string $encoding ])
Gets the first $n characters of $str.
```php
S::create('fòô bàř', 'UTF-8')->first(3);
S::first('fòô bàř', 3, 'UTF-8'); // 'fòô'
```
##### humanize
@@ -260,207 +263,6 @@ S::create('author_id')->humanize();
S::humanize('author_id'); // 'Author'
```
##### tidy
$stringy->tidy()
S::tidy(string $str)
Replaces smart quotes, ellipsis characters, and dashes from Windows-1252
(and commonly used in Word documents) with their ASCII equivalents.
```php
S::create('“I see…”')->tidy();
S::tidy('“I see…”'); // '"I see..."'
```
##### collapseWhitespace
$stringy->collapseWhitespace()
S::collapseWhitespace(string $str)
Trims the string and replaces consecutive whitespace characters with a
single space. This inclues tabs and newline characters.
```php
S::create(' Ο συγγραφέας ')->collapseWhitespace();
S::collapseWhitespace(' Ο συγγραφέας '); // 'Ο συγγραφέας'
```
##### standardize
$stringy->standardize()
S::standardize(string $str)
Converts some non-ASCII characters to their closest ASCII counterparts.
```php
S::create('fòô bàř')->standardize();
S::standardize('fòô bàř'); // 'foo bar'
```
##### pad
$stringy->pad(int $length [, string $padStr = ' ' [, string $padType = 'right' ]])
S::pad(string $str , int $length [, string $padStr = ' ' [, string $padType = 'right' [, string $encoding ]]])
Pads a string to a given length with another string. If length is less
than or equal to the length of $str, then no padding takes places. The
default string used for padding is a space, and the default type (one of
'left', 'right', 'both') is 'right'. Throws an exception if $padType
isn't one of those 3 values.
```php
S::create('fòô bàř', 'UTF-8')->pad( 10, '¬ø', 'left',);
S::pad('fòô bàř', 10, '¬ø', 'left', 'UTF-8'); // '¬ø¬fòô bàř'
```
##### padLeft
$stringy->padLeft(int $length [, string $padStr = ' ' ])
S::padLeft(string $str , int $length [, string $padStr = ' ' [, string $encoding ]])
Returns a new string of a given length such that the beginning of the
string is padded. Alias for pad($str, $length, $padStr, 'left', $encoding)
```php
S::create($str, $encoding)->padLeft($length, $padStr);
S::padLeft('foo bar', 9, ' '); // ' foo bar'
```
##### padRight
$stringy->padRight(int $length [, string $padStr = ' ' ])
S::padRight(string $str , int $length [, string $padStr = ' ' [, string $encoding ]])
Returns a new string of a given length such that the end of the string is
padded. Alias for pad($str, $length, $padStr, 'right', $encoding)
```php
S::create('foo bar')->padRight(10, '_*');
S::padRight('foo bar', 10, '_*'); // 'foo bar_*_'
```
##### padBoth
$stringy->padBoth(int $length [, string $padStr = ' ' ])
S::padBoth(string $str , int $length [, string $padStr = ' ' [, string $encoding ]])
Returns a new string of a given length such that both sides of the string
string are padded. Alias for pad($str, $length, $padStr, 'both', $encoding)
```php
S::create('foo bar')->padBoth(9, ' ');
S::padBoth('foo bar', 9, ' '); // ' foo bar '
```
##### startsWith
$stringy->startsWith(string $substring [, boolean $caseSensitive = true ])
S::startsWith(string $str, string $substring [, boolean $caseSensitive = true [, string $encoding ]])
Returns true if the string $str begins with $substring, false otherwise.
By default, the comparison is case-sensitive, but can be made insensitive
by setting $caseSensitive to false.
```php
S::create('FÒÔ bàřs', 'UTF-8')->startsWith('fòô bàř', false);
S::startsWith('FÒÔ bàřs', 'fòô bàř', false, 'UTF-8'); // true
```
##### endsWith
$stringy->endsWith(string $substring [, boolean $caseSensitive = true ])
S::endsWith(string $str, string $substring [, boolean $caseSensitive = true [, string $encoding ]])
Returns true if the string $str ends with $substring, false otherwise.
By default, the comparison is case-sensitive, but can be made insensitive
by setting $caseSensitive to false.
```php
S::create('FÒÔ bàřs', 'UTF-8')->endsWith('àřs', true);
S::endsWith('FÒÔ bàřs', 'àřs', true, 'UTF-8'); // true
```
##### toSpaces
$stringy->toSpaces([ tabLength = 4 ])
S::toSpaces(string $str, [, int $tabLength = 4 ])
Converts each tab in a string to some number of spaces, as defined by
$tabLength. By default, each tab is converted to 4 consecutive spaces.
```php
S::create(' String speech = "Hi"')->toSpaces();
S::toSpaces(' String speech = "Hi"') // ' String speech = "Hi"'
```
##### toTabs
$stringy->toTabs([ tabLength = 4 ])
S::toTabs(string $str, [, int $tabLength = 4 ])
Converts each occurence of some consecutive number of spaces, as defined
by $tabLength, to a tab. By default, each 4 consecutive spaces are
converted to a tab.
```php
S::create(' fòô bàř')->toTabs();
S::toTabs(' fòô bàř') // ' fòô bàř'
```
##### slugify
$stringy->slugify()
S::slugify(string $str)
Converts the supplied text into an URL slug. This includes replacing
non-ASCII characters with their closest ASCII equivalents, removing
non-alphanumeric and non-ASCII characters, and replacing whitespace with
dashes. The string is also converted to lowercase.
```php
S::create('Using strings like fòô bàř')->slugify();
S::slugify('Using strings like fòô bàř') // 'using-strings-like-foo-bar'
```
##### contains
$stringy->contains(string $needle)
S::contains(string $haystack, string $needle [, string $encoding ])
Returns true if $haystack contains $needle, false otherwise.
```php
S::create('Ο συγγραφέας είπε', 'UTF-8')->contains('συγγραφέας');
S::contains('Ο συγγραφέας είπε', 'συγγραφέας', 'UTF-8') // true
```
##### surround
$stringy->surround(string $substring)
S::surround(string $str, string $substring)
Surrounds a string with the given substring.
```php
S::create(' ͜ ')->surround('ʘ');
S::surround(' ͜ ', 'ʘ'); // 'ʘ ͜ ʘ'
```
##### insert
$stringy->insert(int $index, string $substring)
@@ -474,75 +276,30 @@ S::create('fòô bà', 'UTF-8')->insert('ř', 6);
S::insert('fòô bà', 'ř', 6, 'UTF-8'); // 'fòô bàř'
```
##### truncate
##### last
$stringy->truncate(int $length, [, string $substring = '' ])
$stringy->last(int $n)
S::truncate(string $str, int $length, [, string $substring = '' [, string $encoding ]])
S::last(int $n [, string $encoding ])
Truncates $str to a given length. If $substring is provided, and
truncating occurs, the string is further truncated so that the substring
may be appended without exceeding the desired length.
Gets the last $n characters of $str.
```php
S::create('What are your plans today?')->safeTruncate(19, '...');
S::safeTruncate('What are your plans today?', 19, '...'); // 'What are your pl...'
S::create('fòô bàř', 'UTF-8')->last(3);
S::last('fòô bàř', 3, 'UTF-8'); // 'bàř'
```
##### safeTruncate
##### length
$stringy->safeTruncate(int $length, [, string $substring = '' ])
$stringy->length()
S::safeTruncate(string $str, int $length, [, string $substring = '' [, string $encoding ]])
S::length(string $str [, string $encoding ])
Truncates the string to a given length, while ensuring that it does not
chop words. If $substring is provided, and truncating occurs, the string
is further truncated so that the substring may be appended without
exceeding the desired length.
Returns the length of $str. An alias for PHP's mb_strlen() function.
```php
S::create('What are your plans today?')->safeTruncate(22, '...');
S::safeTruncate('What are your plans today?', 22, '...'); // 'What are your plans...'
```
##### reverse
$stringy->reverse()
S::reverse(string $str, [, string $encoding ])
Reverses a string. A multibyte version of strrev.
```php
S::create('fòô bàř', 'UTF-8')->reverse();
S::reverse('fòô bàř', 'UTF-8'); // 'řàb ôòf'
```
##### shuffle
$stringy->shuffle()
S::shuffle(string $str [, string $encoding ])
A multibyte str_shuffle function. It randomizes the order of characters
in a string.
```php
S::create('fòô bàř', 'UTF-8')->shuffle();
S::shuffle('fòô bàř', 'UTF-8') // 'àôřb òf'
```
##### trim
$stringy->trim()
S::trim(string $str)
Trims $str. An alias for PHP's trim() function.
```php
S::create('fòô bàř', 'UTF-8')->trim();
S::trim(' fòô bàř ') // 'fòô bàř'
S::create('fòô bàř', 'UTF-8')->length();
S::length('fòô bàř', 'UTF-8'); // 7
```
##### longestCommonPrefix
@@ -585,97 +342,77 @@ S::create('foo bar')->longestCommonSubstring('boo far');
S::longestCommonSubstring('foo bar', 'boo far'); // 'oo '
```
##### length
##### lowerCaseFirst
$stringy->length()
$stringy->lowerCaseFirst();
S::length(string $str [, string $encoding ])
S::lowerCaseFirst(string $str [, string $encoding ])
Returns the length of $str. An alias for PHP's mb_strlen() function.
Converts the first character of the supplied string to lower case, with
support for multibyte strings.
```php
S::create('fòô bàř', 'UTF-8')->length();
S::length('fòô bàř', 'UTF-8'); // 7
S::create('Σ test', 'UTF-8')->lowerCaseFirst();
S::lowerCaseFirst('Σ test', 'UTF-8'); // 'σ test'
```
##### substr
##### pad
$stringy->substr(int $start [, int $length ])
$stringy->pad(int $length [, string $padStr = ' ' [, string $padType = 'right' ]])
S::substr(string $str, int $start [, int $length [, string $encoding ]])
S::pad(string $str , int $length [, string $padStr = ' ' [, string $padType = 'right' [, string $encoding ]]])
Gets the substring of $str beginning at $start with the specified $length.
It differs from the mb_substr() function in that providing a $length of
null will return the rest of the string, rather than an empty string.
Pads a string to a given length with another string. If length is less
than or equal to the length of $str, then no padding takes places. The
default string used for padding is a space, and the default type (one of
'left', 'right', 'both') is 'right'. Throws an exception if $padType
isn't one of those 3 values.
```php
S::create('fòô bàř', 'UTF-8')->substr(2, 3);
S::substr('fòô bàř', 2, 3, 'UTF-8'); // 'ô b'
S::create('fòô bàř', 'UTF-8')->pad( 10, '¬ø', 'left',);
S::pad('fòô bàř', 10, '¬ø', 'left', 'UTF-8'); // '¬ø¬fòô bàř'
```
##### at
##### padBoth
$stringy->at(int $index)
$stringy->padBoth(int $length [, string $padStr = ' ' ])
S::substr(int $index [, string $encoding ])
S::padBoth(string $str , int $length [, string $padStr = ' ' [, string $encoding ]])
Gets the character of $str at $index, with indexes starting at 0.
Returns a new string of a given length such that both sides of the string
string are padded. Alias for pad($str, $length, $padStr, 'both', $encoding)
```php
S::create('fòô bàř', 'UTF-8')->at(6);
S::at('fòô bàř', 6, 'UTF-8'); // 'ř'
S::create('foo bar')->padBoth(9, ' ');
S::padBoth('foo bar', 9, ' '); // ' foo bar '
```
##### first
##### padLeft
$stringy->first(int $n)
$stringy->padLeft(int $length [, string $padStr = ' ' ])
S::first(int $n [, string $encoding ])
S::padLeft(string $str , int $length [, string $padStr = ' ' [, string $encoding ]])
Gets the first $n characters of $str.
Returns a new string of a given length such that the beginning of the
string is padded. Alias for pad($str, $length, $padStr, 'left', $encoding)
```php
S::create('fòô bàř', 'UTF-8')->first(3);
S::first('fòô bàř', 3, 'UTF-8'); // 'fòô'
S::create($str, $encoding)->padLeft($length, $padStr);
S::padLeft('foo bar', 9, ' '); // ' foo bar'
```
##### last
##### padRight
$stringy->last(int $n)
$stringy->padRight(int $length [, string $padStr = ' ' ])
S::last(int $n [, string $encoding ])
S::padRight(string $str , int $length [, string $padStr = ' ' [, string $encoding ]])
Gets the last $n characters of $str.
Returns a new string of a given length such that the end of the string is
padded. Alias for pad($str, $length, $padStr, 'right', $encoding)
```php
S::create('fòô bàř', 'UTF-8')->last(3);
S::last('fòô bàř', 3, 'UTF-8'); // 'bàř'
```
##### ensureLeft
$stringy->ensureLeft(string $substring)
S::ensureLeft(string $substring [, string $encoding ])
Ensures that $str begins with $substring.
```php
S::create('foobar')->ensureLeft('http://');
S::ensureLeft('foobar', 'http://'); // 'http://foobar'
```
##### ensureRight
$stringy->ensureRight(string $substring)
S::ensureRight(string $substring [, string $encoding ])
Ensures that $str ends with $substring.
```php
S::create('foobar')->ensureRight('.com');
S::ensureRight('foobar', '.com'); // 'foobar.com'
S::create('foo bar')->padRight(10, '_*');
S::padRight('foo bar', 10, '_*'); // 'foo bar_*_'
```
##### removeLeft
@@ -704,6 +441,268 @@ S::create('fòô bàř', 'UTF-8')->removeRight(' bàř');
S::removeRight('fòô bàř', ' bàř', 'UTF-8'); // 'fòô'
```
##### reverse
$stringy->reverse()
S::reverse(string $str, [, string $encoding ])
Reverses a string. A multibyte version of strrev.
```php
S::create('fòô bàř', 'UTF-8')->reverse();
S::reverse('fòô bàř', 'UTF-8'); // 'řàb ôòf'
```
##### safeTruncate
$stringy->safeTruncate(int $length, [, string $substring = '' ])
S::safeTruncate(string $str, int $length, [, string $substring = '' [, string $encoding ]])
Truncates the string to a given length, while ensuring that it does not
chop words. If $substring is provided, and truncating occurs, the string
is further truncated so that the substring may be appended without
exceeding the desired length.
```php
S::create('What are your plans today?')->safeTruncate(22, '...');
S::safeTruncate('What are your plans today?', 22, '...'); // 'What are your plans...'
```
##### shuffle
$stringy->shuffle()
S::shuffle(string $str [, string $encoding ])
A multibyte str_shuffle function. It randomizes the order of characters
in a string.
```php
S::create('fòô bàř', 'UTF-8')->shuffle();
S::shuffle('fòô bàř', 'UTF-8') // 'àôřb òf'
```
##### slugify
$stringy->slugify()
S::slugify(string $str)
Converts the supplied text into an URL slug. This includes replacing
non-ASCII characters with their closest ASCII equivalents, removing
non-alphanumeric and non-ASCII characters, and replacing whitespace with
dashes. The string is also converted to lowercase.
```php
S::create('Using strings like fòô bàř')->slugify();
S::slugify('Using strings like fòô bàř') // 'using-strings-like-foo-bar'
```
##### standardize
$stringy->standardize()
S::standardize(string $str)
Converts some non-ASCII characters to their closest ASCII counterparts.
```php
S::create('fòô bàř')->standardize();
S::standardize('fòô bàř'); // 'foo bar'
```
##### startsWith
$stringy->startsWith(string $substring [, boolean $caseSensitive = true ])
S::startsWith(string $str, string $substring [, boolean $caseSensitive = true [, string $encoding ]])
Returns true if the string $str begins with $substring, false otherwise.
By default, the comparison is case-sensitive, but can be made insensitive
by setting $caseSensitive to false.
```php
S::create('FÒÔ bàřs', 'UTF-8')->startsWith('fòô bàř', false);
S::startsWith('FÒÔ bàřs', 'fòô bàř', false, 'UTF-8'); // true
```
##### substr
$stringy->substr(int $start [, int $length ])
S::substr(string $str, int $start [, int $length [, string $encoding ]])
Gets the substring of $str beginning at $start with the specified $length.
It differs from the mb_substr() function in that providing a $length of
null will return the rest of the string, rather than an empty string.
```php
S::create('fòô bàř', 'UTF-8')->substr(2, 3);
S::substr('fòô bàř', 2, 3, 'UTF-8'); // 'ô b'
```
##### surround
$stringy->surround(string $substring)
S::surround(string $str, string $substring)
Surrounds a string with the given substring.
```php
S::create(' ͜ ')->surround('ʘ');
S::surround(' ͜ ', 'ʘ'); // 'ʘ ͜ ʘ'
```
##### swapCase
$stringy->swapCase();
S::swapCase(string $str [, string $encoding ])
Returns a case swapped version of a string.
```php
S::create('Ντανιλ', 'UTF-8')->swapCase();
S::swapCase('Ντανιλ', 'UTF-8'); // 'νΤΑΝΙΛ'
```
##### tidy
$stringy->tidy()
S::tidy(string $str)
Replaces smart quotes, ellipsis characters, and dashes from Windows-1252
(and commonly used in Word documents) with their ASCII equivalents.
```php
S::create('“I see…”')->tidy();
S::tidy('“I see…”'); // '"I see..."'
```
##### titleize
$stringy->titleize([ string $encoding ])
S::titleize(string $str [, array $ignore [, string $encoding ]])
Capitalizes the first letter of each word in a string, after trimming.
Ignores the case of other letters, allowing for the use of acronyms.
Also accepts an array, $ignore, allowing you to list words not to be
capitalized.
```php
$ignore = array('at', 'by', 'for', 'in', 'of', 'on', 'out', 'to', 'the');
S::create('i like to watch DVDs at home', 'UTF-8')->titleize($ignore);
S::titleize('i like to watch DVDs at home', $ignore, 'UTF-8');
// 'I Like to Watch DVDs at Home'
```
##### toSpaces
$stringy->toSpaces([ tabLength = 4 ])
S::toSpaces(string $str, [, int $tabLength = 4 ])
Converts each tab in a string to some number of spaces, as defined by
$tabLength. By default, each tab is converted to 4 consecutive spaces.
```php
S::create(' String speech = "Hi"')->toSpaces();
S::toSpaces(' String speech = "Hi"') // ' String speech = "Hi"'
```
##### toTabs
$stringy->toTabs([ tabLength = 4 ])
S::toTabs(string $str, [, int $tabLength = 4 ])
Converts each occurence of some consecutive number of spaces, as defined
by $tabLength, to a tab. By default, each 4 consecutive spaces are
converted to a tab.
```php
S::create(' fòô bàř')->toTabs();
S::toTabs(' fòô bàř') // ' fòô bàř'
```
##### trim
$stringy->trim()
S::trim(string $str)
Trims $str. An alias for PHP's trim() function.
```php
S::create('fòô bàř', 'UTF-8')->trim();
S::trim(' fòô bàř ') // 'fòô bàř'
```
##### truncate
$stringy->truncate(int $length, [, string $substring = '' ])
S::truncate(string $str, int $length, [, string $substring = '' [, string $encoding ]])
Truncates $str to a given length. If $substring is provided, and
truncating occurs, the string is further truncated so that the substring
may be appended without exceeding the desired length.
```php
S::create('What are your plans today?')->safeTruncate(19, '...');
S::safeTruncate('What are your plans today?', 19, '...'); // 'What are your pl...'
```
##### underscored
$stringy->underscored();
S::underscored(string $str [, string $encoding ])
Returns a lowercase and trimmed string seperated by underscores, with
multibyte support. Underscores are inserted before uppercase characters
(with the exception of the first character of the string), and in place
of spaces as well as dashes.
```php
S::create('TestUCase')->underscored();
S::underscored('TestUCase'); // 'test_u_case'
```
##### upperCamelize
$stringy->upperCamelize();
S::upperCamelize(string $str [, string $encoding ])
Returns an UpperCamelCase version of a supplied string, with multibyte
support. Trims surrounding spaces, capitalizes letters following digits,
spaces, dashes and underscores, and removes spaces, dashes, underscores.
```php
S::create('Upper Camel-Case')->upperCamelize();
S::upperCamelize('Upper Camel-Case'); // 'UpperCamelCase'
```
##### upperCaseFirst
$stringy->upperCaseFirst();
S::upperCaseFirst(string $str [, string $encoding ])
Converts the first character of the supplied string to upper case, with
support for multibyte strings.
```php
S::create('σ test', 'UTF-8')->upperCaseFirst();
S::upperCaseFirst('σ test', 'UTF-8'); // 'Σ test'
```
## TODO
**count** => substr_count

View File

@@ -494,7 +494,8 @@ class StaticStringy
/**
* Gets the character of $str at $index, with indexes starting at 0.
*
* @param int $index Position of the character
* @param string $str The string from which to get the char
* @param int $index Position of the character
* @param string $encoding The character encoding
* @return string The character at $index
*/
@@ -506,6 +507,7 @@ class StaticStringy
/**
* Gets the first $n characters of $str.
*
* @param string $str The string from which to get the substring
* @param int $n Number of chars to retrieve from the start
* @param string $encoding The character encoding
* @return string The first $n characters
@@ -518,6 +520,7 @@ class StaticStringy
/**
* Gets the last $n characters of $str.
*
* @param string $str The string from which to get the substring
* @param int $n Number of chars to retrieve from the end
* @param string $encoding The character encoding
* @return string The last $n characters
@@ -530,6 +533,7 @@ class StaticStringy
/**
* Ensures that $str begins with $substring.
*
* @param string $str The string to modify
* @param string $substring The substring to add if not present
* @param string $encoding The character encoding
* @return string The string prefixed by the $substring
@@ -542,6 +546,7 @@ class StaticStringy
/**
* Ensures that $str ends with $substring.
*
* @param string $str The string to modify
* @param string $substring The substring to add if not present
* @param string $encoding The character encoding
* @return string The string suffixed by the $substring