From 488852146674b189ca715dede52e0b27a0b82825 Mon Sep 17 00:00:00 2001
From: "Daniel St. Jules"
Date: Sun, 28 Jul 2013 21:13:45 -0700
Subject: [PATCH] Create gh-pages branch via GitHub
---
index.html | 254 +++++++++++++++++++++++++++-------------------------
params.json | 2 +-
2 files changed, 135 insertions(+), 121 deletions(-)
diff --git a/index.html b/index.html
index 094c75a..314d9c6 100644
--- a/index.html
+++ b/index.html
@@ -31,9 +31,11 @@
Stringy
-A PHP library with a variety of string manipulation functions with multibyte support. Offers both OO method chaining and a procedural-style static wrapper. Inspired by underscore.string.js.
+A PHP library with a variety of string manipulation functions with multibyte support. Offers both OO method chaining and a procedural-style static wrapper. Compatible with PHP 5.3+. Inspired by underscore.string.js.
-Note: The methods listed below are subject to change until we reach a 1.0.0 release.
+
+
+
Note: If $encoding is not given, it defaults to mb_internal_encoding().
-
-at
+
+at
$stringy->at(int $index)
@@ -165,8 +169,8 @@ method in Stringy\StaticStringy. For all others, they're found in Stringy\String
S::at('fòô bàř', 6, 'UTF-8'); // 'ř'
-
-camelize
+
+camelize
$stringy->camelize();
@@ -180,8 +184,8 @@ dashes and underscores, and removes spaces, dashes, underscores.
S::camelize('Camel-Case'); // 'camelCase'
-
-collapseWhitespace
+
+collapseWhitespace
$stringy->collapseWhitespace()
@@ -194,8 +198,8 @@ single space. This inclues tabs and newline characters.
S::collapseWhitespace(' Ο συγγραφέας '); // 'Ο συγγραφέας'
-
-contains
+
+contains
$stringy->contains(string $needle)
@@ -204,11 +208,25 @@ single space. This inclues tabs and newline characters.
Returns true if $haystack contains $needle, false otherwise.
S::create('Ο συγγραφέας είπε', 'UTF-8')->contains('συγγραφέας');
-S::contains('Ο συγγραφέας είπε', 'συγγραφέας', 'UTF-8') // true
+S::contains('Ο συγγραφέας είπε', 'συγγραφέας', 'UTF-8'); // true
-
-create
+
+count
+
+$stringy->count(string $substring)
+
+S::count(string $str, string $substring [, string $encoding ])
+
+Returns the number of occurences of $substring in $str. An alias for
+mb_substr_count()
+
+S::create('Ο συγγραφέας είπε', 'UTF-8')->count('α');
+S::count('Ο συγγραφέας είπε', 'α', 'UTF-8'); // 2
+
+
+
+create
$stringy = S::create(string $str, [, $encoding ])
@@ -219,8 +237,8 @@ mb_internal_encoding(). It then returns the instantiated object.
S::create('fòô bàř', 'UTF-8'); // 'fòô bàř'
-
-dasherize
+
+dasherize
$stringy->dasherize();
@@ -235,8 +253,8 @@ of spaces as well as underscores.
S::dasherize('TestDCase'); // 'test-d-case'
-
-endsWith
+
+endsWith
$stringy->endsWith(string $substring [, boolean $caseSensitive = true ])
@@ -250,8 +268,8 @@ by setting $caseSensitive to false.
S::endsWith('FÒÔ bàřs', 'àřs', true, 'UTF-8'); // true
-
-ensureLeft
+
+ensureLeft
$stringy->ensureLeft(string $substring)
@@ -263,8 +281,8 @@ by setting $caseSensitive to false.
S::ensureLeft('foobar', 'http://'); // 'http://foobar'
-
-ensureRight
+
+ensureRight
$stringy->ensureRight(string $substring)
@@ -276,8 +294,8 @@ by setting $caseSensitive to false.
S::ensureRight('foobar', '.com'); // 'foobar.com'
-
-first
+
+first
$stringy->first(int $n)
@@ -289,8 +307,8 @@ by setting $caseSensitive to false.
S::first('fòô bàř', 3, 'UTF-8'); // 'fòô'
-
-humanize
+
+humanize
$stringy->humanize()
@@ -303,8 +321,8 @@ and strips '_id'.
S::humanize('author_id'); // 'Author'
-
-insert
+
+insert
$stringy->insert(int $index, string $substring)
@@ -316,8 +334,8 @@ and strips '_id'.
S::insert('fòô bà', 'ř', 6, 'UTF-8'); // 'fòô bàř'
-
-isAlpha
+
+isAlpha
$stringy->isAlpha()
@@ -329,8 +347,8 @@ and strips '_id'.
S::isAlpha('丹尼爾', 'UTF-8'); // true
-
-isAlphanumeric
+
+isAlphanumeric
$stringy->isAlphanumeric()
@@ -343,8 +361,8 @@ otherwise.
S::isAlphanumeric('دانيال1', 'UTF-8'); // true
-
-isBlank
+
+isBlank
$stringy->isBlank()
@@ -356,8 +374,8 @@ otherwise.
S::isBlank("\n\t \v\f"); // true
-
-isLowerCase
+
+isLowerCase
$stringy->isLowerCase()
@@ -369,8 +387,8 @@ otherwise.
S::isLowerCase('fòô bàř', 'UTF-8'); // true
-
-isUpperCase
+
+isUpperCase
$stringy->isUpperCase()
@@ -382,8 +400,8 @@ otherwise.
S::isUpperCase('FÒÔBÀŘ',, 'UTF-8'); // true
-
-last
+
+last
$stringy->last(int $n)
@@ -395,8 +413,8 @@ otherwise.
S::last('fòô bàř', 3, 'UTF-8'); // 'bàř'
-
-length
+
+length
$stringy->length()
@@ -408,8 +426,8 @@ otherwise.
S::length('fòô bàř', 'UTF-8'); // 7
-
-longestCommonPrefix
+
+longestCommonPrefix
$stringy->longestCommonPrefix(string $otherStr)
@@ -421,8 +439,8 @@ otherwise.
S::longestCommonPrefix('fòô bar', 'fòr bar', 'UTF-8'); // 'fò'
-
-longestCommonSuffix
+
+longestCommonSuffix
$stringy->longestCommonSuffix(string $otherStr)
@@ -434,8 +452,8 @@ otherwise.
S::longestCommonSuffix('fòô bàř', 'fòr bàř', 'UTF-8'); // ' bàř'
-
-longestCommonSubstring
+
+longestCommonSubstring
$stringy->longestCommonSubstring(string $otherStr)
@@ -448,8 +466,8 @@ case of ties, returns that which occurs first.
S::longestCommonSubstring('foo bar', 'boo far'); // 'oo '
-
-lowerCaseFirst
+
+lowerCaseFirst
$stringy->lowerCaseFirst();
@@ -462,8 +480,8 @@ support for multibyte strings.
S::lowerCaseFirst('Σ test', 'UTF-8'); // 'σ test'
-
-pad
+
+pad
$stringy->pad(int $length [, string $padStr = ' ' [, string $padType = 'right' ]])
@@ -479,8 +497,8 @@ isn't one of those 3 values.
S::pad('fòô bàř', 10, '¬ø', 'left', 'UTF-8'); // '¬ø¬fòô bàř'
-
-padBoth
+
+padBoth
$stringy->padBoth(int $length [, string $padStr = ' ' ])
@@ -493,8 +511,8 @@ string are padded. Alias for pad($str, $length, $padStr, 'both', $encoding)
S::padBoth('foo bar', 9, ' '); // ' foo bar '
-
-padLeft
+
+padLeft
$stringy->padLeft(int $length [, string $padStr = ' ' ])
@@ -507,8 +525,8 @@ string is padded. Alias for pad($str, $length, $padStr, 'left', $encoding)
S::padLeft('foo bar', 9, ' '); // ' foo bar'
-
-padRight
+
+padRight
$stringy->padRight(int $length [, string $padStr = ' ' ])
@@ -521,8 +539,8 @@ padded. Alias for pad($str, $length, $padStr, 'right', $encoding)
S::padRight('foo bar', 10, '_*'); // 'foo bar_*_'
-
-removeLeft
+
+removeLeft
$stringy->removeLeft(string $substring)
@@ -534,8 +552,8 @@ padded. Alias for pad($str, $length, $padStr, 'right', $encoding)
S::removeLeft('fòô bàř', 'fòô ', 'UTF-8'); // 'bàř'
-
-removeRight
+
+removeRight
$stringy->removeRight(string $substring)
@@ -547,8 +565,21 @@ padded. Alias for pad($str, $length, $padStr, 'right', $encoding)
S::removeRight('fòô bàř', ' bàř', 'UTF-8'); // 'fòô'
-
-reverse
+
+replace
+
+$stringy->replace(string $search, string $replace)
+
+S::replace(string $str, string $search, string $replace [, string $encoding ])
+
+Replaces all occurrences of $search with $replace in $str.
+
+S::create('fòô bàř fòô bàř', 'UTF-8')->replace('fòô ', '');
+S::replace('fòô bàř fòô bàř', 'fòô ', '', 'UTF-8'); // 'bàř bàř'
+
+
+
+reverse
$stringy->reverse()
@@ -560,8 +591,8 @@ padded. Alias for pad($str, $length, $padStr, 'right', $encoding)
S::reverse('fòô bàř', 'UTF-8'); // 'řàb ôòf'
-
-safeTruncate
+
+safeTruncate
$stringy->safeTruncate(int $length, [, string $substring = '' ])
@@ -576,8 +607,8 @@ exceeding the desired length.
S::safeTruncate('What are your plans today?', 22, '...'); // 'What are your plans...'
-
-shuffle
+
+shuffle
$stringy->shuffle()
@@ -587,11 +618,11 @@ exceeding the desired length.
in a string.
S::create('fòô bàř', 'UTF-8')->shuffle();
-S::shuffle('fòô bàř', 'UTF-8') // 'àôřb òf'
+S::shuffle('fòô bàř', 'UTF-8'); // 'àôřb òf'
-
-slugify
+
+slugify
$stringy->slugify()
@@ -603,11 +634,11 @@ non-alphanumeric and non-ASCII characters, and replacing whitespace with
dashes. The string is also converted to lowercase.
S::create('Using strings like fòô bàř')->slugify();
-S::slugify('Using strings like fòô bàř') // 'using-strings-like-foo-bar'
+S::slugify('Using strings like fòô bàř'); // 'using-strings-like-foo-bar'
-
-standardize
+
+standardize
$stringy->standardize()
@@ -619,8 +650,8 @@ dashes. The string is also converted to lowercase.
S::standardize('fòô bàř'); // 'foo bar'
-
-startsWith
+
+startsWith
$stringy->startsWith(string $substring [, boolean $caseSensitive = true ])
@@ -634,8 +665,8 @@ by setting $caseSensitive to false.
S::startsWith('FÒÔ bàřs', 'fòô bàř', false, 'UTF-8'); // true
-
-substr
+
+substr
$stringy->substr(int $start [, int $length ])
@@ -649,8 +680,8 @@ null will return the rest of the string, rather than an empty string.
S::substr('fòô bàř', 2, 3, 'UTF-8'); // 'ô b'
-
-surround
+
+surround
$stringy->surround(string $substring)
@@ -662,8 +693,8 @@ null will return the rest of the string, rather than an empty string.
S::surround(' ͜ ', 'ʘ'); // 'ʘ ͜ ʘ'
-
-swapCase
+
+swapCase
$stringy->swapCase();
@@ -675,8 +706,8 @@ null will return the rest of the string, rather than an empty string.
S::swapCase('Ντανιλ', 'UTF-8'); // 'νΤΑΝΙΛ'
-
-tidy
+
+tidy
$stringy->tidy()
@@ -689,8 +720,8 @@ null will return the rest of the string, rather than an empty string.
S::tidy('“I see…”'); // '"I see..."'
-
-titleize
+
+titleize
$stringy->titleize([ string $encoding ])
@@ -707,8 +738,8 @@ capitalized.
// 'I Like to Watch DVDs at Home'
-
-toSpaces
+
+toSpaces
$stringy->toSpaces([ tabLength = 4 ])
@@ -718,11 +749,11 @@ capitalized.
$tabLength. By default, each tab is converted to 4 consecutive spaces.
S::create(' String speech = "Hi"')->toSpaces();
-S::toSpaces(' String speech = "Hi"') // ' String speech = "Hi"'
+S::toSpaces(' String speech = "Hi"'); // ' String speech = "Hi"'
-
-toTabs
+
+toTabs
$stringy->toTabs([ tabLength = 4 ])
@@ -733,11 +764,11 @@ by $tabLength, to a tab. By default, each 4 consecutive spaces are
converted to a tab.
S::create(' fòô bàř')->toTabs();
-S::toTabs(' fòô bàř') // ' fòô bàř'
+S::toTabs(' fòô bàř'); // ' fòô bàř'
-
-trim
+
+trim
$stringy->trim()
@@ -746,11 +777,11 @@ converted to a tab.
Trims $str. An alias for PHP's trim() function.
S::create('fòô bàř', 'UTF-8')->trim();
-S::trim(' fòô bàř ') // 'fòô bàř'
+S::trim(' fòô bàř '); // 'fòô bàř'
-
-truncate
+
+truncate
$stringy->truncate(int $length, [, string $substring = '' ])
@@ -764,8 +795,8 @@ may be appended without exceeding the desired length.
S::safeTruncate('What are your plans today?', 19, '...'); // 'What are your pl...'
-
-underscored
+
+underscored
$stringy->underscored();
@@ -780,8 +811,8 @@ of spaces as well as dashes.
S::underscored('TestUCase'); // 'test_u_case'
-
-upperCamelize
+
+upperCamelize
$stringy->upperCamelize();
@@ -795,8 +826,8 @@ spaces, dashes and underscores, and removes spaces, dashes, underscores.
S::upperCamelize('Upper Camel-Case'); // 'UpperCamelCase'
-
-upperCaseFirst
+
+upperCaseFirst
$stringy->upperCaseFirst();
@@ -809,26 +840,9 @@ support for multibyte strings.
S::upperCaseFirst('σ test', 'UTF-8'); // 'Σ test'
-
-TODO
-
-count => substr_count
-
-wordCount => str_word_count
-
-wordWrap
-
-excerpt ($str, $substring, $radius)
-
-pluralize ($count, $singular, $plural = null)
-
-toBoolean
-
Tests
-
-
From the project directory, tests can be ran using phpunit
diff --git a/params.json b/params.json
index c6c0f58..dc2759f 100644
--- a/params.json
+++ b/params.json
@@ -1 +1 @@
-{"name":"Stringy","tagline":"A PHP string manipulation library with multibyte support","body":"# Stringy\r\n\r\nA PHP library with a variety of string manipulation functions with multibyte support. Offers both OO method chaining and a procedural-style static wrapper. Inspired by underscore.string.js.\r\n\r\nNote: The methods listed below are subject to change until we reach a 1.0.0 release.\r\n\r\n* [Requiring/Loading](#requiringloading)\r\n* [OO and Procedural](#oo-and-procedural)\r\n* [Methods](#methods)\r\n * [at](#at)\r\n * [camelize](#camelize)\r\n * [collapseWhitespace](#collapsewhitespace)\r\n * [contains](#contains)\r\n * [create](#create)\r\n * [dasherize](#dasherize)\r\n * [endsWith](#endswith)\r\n * [ensureLeft](#ensureleft)\r\n * [ensureRight](#ensureright)\r\n * [first](#first)\r\n * [humanize](#humanize)\r\n * [insert](#insert)\r\n * [isAlpha](#isalpha)\r\n * [isAlphanumeric](#isalphanumeric)\r\n * [isBlank](#isblank)\r\n * [isLowerCase](#islowercase)\r\n * [isUpperCase](#isuppercase)\r\n * [last](#last)\r\n * [length](#length)\r\n * [longestCommonPrefix](#longestcommonprefix)\r\n * [longestCommonSuffix](#longestcommonsuffix)\r\n * [longestCommonSubstring](#longestcommonsubstring)\r\n * [lowerCaseFirst](#lowercasefirst)\r\n * [pad](#pad)\r\n * [padBoth](#padboth)\r\n * [padLeft](#padleft)\r\n * [padRight](#padright)\r\n * [removeLeft](#removeleft)\r\n * [removeRight](#removeright)\r\n * [reverse](#reverse)\r\n * [safeTruncate](#safetruncate)\r\n * [shuffle](#shuffle)\r\n * [slugify](#slugify)\r\n * [standardize](#standardize)\r\n * [startsWith](#startswith)\r\n * [substr](#substr)\r\n * [surround](#surround)\r\n * [swapCase](#swapcase)\r\n * [tidy](#tidy)\r\n * [titleize](#titleize)\r\n * [toSpaces](#tospaces)\r\n * [toTabs](#totabs)\r\n * [trim](#trim)\r\n * [truncate](#truncate)\r\n * [underscored](#underscored)\r\n * [upperCamelize](#uppercamelize)\r\n * [upperCaseFirst](#uppercasefirst)\r\n* [Tests](#tests)\r\n* [License](#license)\r\n\r\n## Requiring/Loading\r\n\r\nIf you're using Composer to manage dependencies, you can include the following in your composer.json file:\r\n\r\n \"require\": {\r\n \"danielstjules/stringy\": \"dev-master\"\r\n }\r\n\r\nThen, after running `composer update` or `php composer.phar update`, you can load the class using Composer's autoloading:\r\n\r\n```php\r\nrequire 'vendor/autoload.php';\r\n```\r\n\r\nOtherwise, you can simply require the file directly:\r\n\r\n```php\r\nrequire_once 'path/to/Stringy/src/Stringy/Stringy.php';\r\n// or\r\nrequire_once 'path/to/Stringy/src/Stringy/StaticStringy.php';\r\n```\r\n\r\nAnd in either case, I'd suggest using an alias.\r\n\r\n```php\r\nuse Stringy\\Stringy as S;\r\n// or\r\nuse Stringy\\StaticStringy as S;\r\n```\r\n\r\n## OO and Procedural\r\n\r\nThe library offers both OO method chaining with `Stringy\\Stringy`, as well as\r\nprocedural-style static method calls with `Stringy\\StaticStringy`. An example\r\nof the former is the following:\r\n\r\n```php\r\nuse Stringy\\Stringy as S;\r\necho S::create(\"Fòô Bàř\", 'UTF-8')->collapseWhitespace()->swapCase(); // 'fÒÔ bÀŘ'\r\n```\r\n\r\n`Stringy\\Stringy` contains a __toString() method, which returns the current\r\nstring when the object is used in a string context. Its $str property is also\r\npublic, and can be accessed directly if required, ie: `S::create('foo')->str // 'foo'`\r\n\r\nUsing the static wrapper, an alternative is the following:\r\n\r\n```php\r\nuse Stringy\\StaticStringy as S;\r\n$string = S::collapseWhitespace(\"Fòô Bàř\", 'UTF-8');\r\necho S::swapCase($string, 'UTF-8'); // 'fÒÔ bÀŘ''\r\n```\r\n\r\n## Methods\r\n\r\nIn the list below, any static method other than S::create refers to a\r\nmethod in Stringy\\StaticStringy. For all others, they're found in Stringy\\Stringy.\r\n\r\n*Note: If $encoding is not given, it defaults to mb_internal_encoding().*\r\n\r\n##### at\r\n\r\n$stringy->at(int $index)\r\n\r\nS::substr(int $index [, string $encoding ])\r\n\r\nGets the character of $str at $index, with indexes starting at 0.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8')->at(6);\r\nS::at('fòô bàř', 6, 'UTF-8'); // 'ř'\r\n```\r\n\r\n##### camelize\r\n\r\n$stringy->camelize();\r\n\r\nS::camelize(string $str [, string $encoding ])\r\n\r\nReturns a camelCase version of a supplied string, with multibyte support.\r\nTrims surrounding spaces, capitalizes letters following digits, spaces,\r\ndashes and underscores, and removes spaces, dashes, underscores.\r\n\r\n```php\r\nS::create('Camel-Case')->camelize();\r\nS::camelize('Camel-Case'); // 'camelCase'\r\n```\r\n\r\n##### collapseWhitespace\r\n\r\n$stringy->collapseWhitespace()\r\n\r\nS::collapseWhitespace(string $str)\r\n\r\nTrims the string and replaces consecutive whitespace characters with a\r\nsingle space. This inclues tabs and newline characters.\r\n\r\n```php\r\nS::create(' Ο συγγραφέας ')->collapseWhitespace();\r\nS::collapseWhitespace(' Ο συγγραφέας '); // 'Ο συγγραφέας'\r\n```\r\n\r\n##### contains\r\n\r\n$stringy->contains(string $needle)\r\n\r\nS::contains(string $haystack, string $needle [, string $encoding ])\r\n\r\nReturns true if $haystack contains $needle, false otherwise.\r\n\r\n```php\r\nS::create('Ο συγγραφέας είπε', 'UTF-8')->contains('συγγραφέας');\r\nS::contains('Ο συγγραφέας είπε', 'συγγραφέας', 'UTF-8') // true\r\n```\r\n\r\n##### create\r\n\r\n$stringy = S::create(string $str, [, $encoding ])\r\n\r\nCreates a Stringy object and assigns both str and encoding properties\r\nthe supplied values. If $encoding is not specified, it defaults to\r\nmb_internal_encoding(). It then returns the instantiated object.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8'); // 'fòô bàř'\r\n```\r\n\r\n##### dasherize\r\n\r\n$stringy->dasherize();\r\n\r\nS::dasherize(string $str [, string $encoding ])\r\n\r\nReturns a lowercase and trimmed string seperated by dashes, with\r\nmultibyte support. Dashes are inserted before uppercase characters\r\n(with the exception of the first character of the string), and in place\r\nof spaces as well as underscores.\r\n\r\n```php\r\nS::create('TestDCase')->dasherize();\r\nS::dasherize('TestDCase'); // 'test-d-case'\r\n```\r\n\r\n##### endsWith\r\n\r\n$stringy->endsWith(string $substring [, boolean $caseSensitive = true ])\r\n\r\nS::endsWith(string $str, string $substring [, boolean $caseSensitive = true [, string $encoding ]])\r\n\r\nReturns true if the string $str ends with $substring, false otherwise.\r\nBy default, the comparison is case-sensitive, but can be made insensitive\r\nby setting $caseSensitive to false.\r\n\r\n```php\r\nS::create('FÒÔ bàřs', 'UTF-8')->endsWith('àřs', true);\r\nS::endsWith('FÒÔ bàřs', 'àřs', true, 'UTF-8'); // true\r\n```\r\n\r\n##### ensureLeft\r\n\r\n$stringy->ensureLeft(string $substring)\r\n\r\nS::ensureLeft(string $substring [, string $encoding ])\r\n\r\nEnsures that $str begins with $substring.\r\n\r\n```php\r\nS::create('foobar')->ensureLeft('http://');\r\nS::ensureLeft('foobar', 'http://'); // 'http://foobar'\r\n```\r\n\r\n##### ensureRight\r\n\r\n$stringy->ensureRight(string $substring)\r\n\r\nS::ensureRight(string $substring [, string $encoding ])\r\n\r\nEnsures that $str ends with $substring.\r\n\r\n```php\r\nS::create('foobar')->ensureRight('.com');\r\nS::ensureRight('foobar', '.com'); // 'foobar.com'\r\n```\r\n\r\n##### first\r\n\r\n$stringy->first(int $n)\r\n\r\nS::first(int $n [, string $encoding ])\r\n\r\nGets the first $n characters of $str.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8')->first(3);\r\nS::first('fòô bàř', 3, 'UTF-8'); // 'fòô'\r\n```\r\n\r\n##### humanize\r\n\r\n$stringy->humanize()\r\n\r\nS::humanize(string $str [, string $encoding ])\r\n\r\nCapitalizes the first word of a string, replaces underscores with spaces,\r\nand strips '_id'.\r\n\r\n```php\r\nS::create('author_id')->humanize();\r\nS::humanize('author_id'); // 'Author'\r\n```\r\n\r\n##### insert\r\n\r\n$stringy->insert(int $index, string $substring)\r\n\r\nS::insert(string $str, int $index, string $substring [, string $encoding ])\r\n\r\nInserts $substring into $str at the $index provided.\r\n\r\n```php\r\nS::create('fòô bà', 'UTF-8')->insert('ř', 6);\r\nS::insert('fòô bà', 'ř', 6, 'UTF-8'); // 'fòô bàř'\r\n```\r\n\r\n##### isAlpha\r\n\r\n$stringy->isAlpha()\r\n\r\nS::isAlpha(string $str [, string $encoding ])\r\n\r\nReturns true if $str contains only alphabetic chars, false otherwise.\r\n\r\n```php\r\nS::create('丹尼爾', 'UTF-8')->isAlpha();\r\nS::isAlpha('丹尼爾', 'UTF-8'); // true\r\n```\r\n\r\n##### isAlphanumeric\r\n\r\n$stringy->isAlphanumeric()\r\n\r\nS::isAlphanumeric(string $str [, string $encoding ])\r\n\r\nReturns true if $str contains only alphabetic and numeric chars, false\r\notherwise.\r\n\r\n```php\r\nS::create('دانيال1', 'UTF-8')->isAlphanumeric();\r\nS::isAlphanumeric('دانيال1', 'UTF-8'); // true\r\n```\r\n\r\n##### isBlank\r\n\r\n$stringy->isBlank()\r\n\r\nS::isBlank(string $str [, string $encoding ])\r\n\r\nReturns true if $str contains only whitespace chars, false otherwise.\r\n\r\n```php\r\nS::create(\"\\n\\t \\v\\f\")->isBlank();\r\nS::isBlank(\"\\n\\t \\v\\f\"); // true\r\n```\r\n\r\n##### isLowerCase\r\n\r\n$stringy->isLowerCase()\r\n\r\nS::isLowerCase(string $str [, string $encoding ])\r\n\r\nReturns true if $str contains only lower case chars, false otherwise.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8')->isLowerCase();\r\nS::isLowerCase('fòô bàř', 'UTF-8'); // true\r\n```\r\n\r\n##### isUpperCase\r\n\r\n$stringy->isUpperCase()\r\n\r\nS::isUpperCase(string $str [, string $encoding ])\r\n\r\nReturns true if $str contains only upper case chars, false otherwise.\r\n\r\n```php\r\nS::create('FÒÔBÀŘ',, 'UTF-8')->isUpperCase();\r\nS::isUpperCase('FÒÔBÀŘ',, 'UTF-8'); // true\r\n```\r\n\r\n##### last\r\n\r\n$stringy->last(int $n)\r\n\r\nS::last(int $n [, string $encoding ])\r\n\r\nGets the last $n characters of $str.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8')->last(3);\r\nS::last('fòô bàř', 3, 'UTF-8'); // 'bàř'\r\n```\r\n\r\n##### length\r\n\r\n$stringy->length()\r\n\r\nS::length(string $str [, string $encoding ])\r\n\r\nReturns the length of $str. An alias for PHP's mb_strlen() function.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8')->length();\r\nS::length('fòô bàř', 'UTF-8'); // 7\r\n```\r\n\r\n##### longestCommonPrefix\r\n\r\n$stringy->longestCommonPrefix(string $otherStr)\r\n\r\nS::longestCommonPrefix(string $str, string $otherStr [, $encoding ])\r\n\r\nFinds the longest common prefix between $str and $otherStr.\r\n\r\n```php\r\nS::create('fòô bar', 'UTF-8')->longestCommonPrefix('fòr bar');\r\nS::longestCommonPrefix('fòô bar', 'fòr bar', 'UTF-8'); // 'fò'\r\n```\r\n\r\n##### longestCommonSuffix\r\n\r\n$stringy->longestCommonSuffix(string $otherStr)\r\n\r\nS::longestCommonSuffix(string $str, string $otherStr [, $encoding ])\r\n\r\nFinds the longest common suffix between $str and $otherStr.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8')->longestCommonSuffix('fòr bàř');\r\nS::longestCommonSuffix('fòô bàř', 'fòr bàř', 'UTF-8'); // ' bàř'\r\n```\r\n\r\n##### longestCommonSubstring\r\n\r\n$stringy->longestCommonSubstring(string $otherStr)\r\n\r\nS::longestCommonSubstring(string $str, string $otherStr [, $encoding ])\r\n\r\nFinds the longest common substring between $str and $otherStr. In the\r\ncase of ties, returns that which occurs first.\r\n\r\n```php\r\nS::create('foo bar')->longestCommonSubstring('boo far');\r\nS::longestCommonSubstring('foo bar', 'boo far'); // 'oo '\r\n```\r\n\r\n##### lowerCaseFirst\r\n\r\n$stringy->lowerCaseFirst();\r\n\r\nS::lowerCaseFirst(string $str [, string $encoding ])\r\n\r\nConverts the first character of the supplied string to lower case, with\r\nsupport for multibyte strings.\r\n\r\n```php\r\nS::create('Σ test', 'UTF-8')->lowerCaseFirst();\r\nS::lowerCaseFirst('Σ test', 'UTF-8'); // 'σ test'\r\n```\r\n\r\n##### pad\r\n\r\n$stringy->pad(int $length [, string $padStr = ' ' [, string $padType = 'right' ]])\r\n\r\nS::pad(string $str , int $length [, string $padStr = ' ' [, string $padType = 'right' [, string $encoding ]]])\r\n\r\nPads a string to a given length with another string. If length is less\r\nthan or equal to the length of $str, then no padding takes places. The\r\ndefault string used for padding is a space, and the default type (one of\r\n'left', 'right', 'both') is 'right'. Throws an exception if $padType\r\nisn't one of those 3 values.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8')->pad( 10, '¬ø', 'left',);\r\nS::pad('fòô bàř', 10, '¬ø', 'left', 'UTF-8'); // '¬ø¬fòô bàř'\r\n```\r\n\r\n##### padBoth\r\n\r\n$stringy->padBoth(int $length [, string $padStr = ' ' ])\r\n\r\nS::padBoth(string $str , int $length [, string $padStr = ' ' [, string $encoding ]])\r\n\r\nReturns a new string of a given length such that both sides of the string\r\nstring are padded. Alias for pad($str, $length, $padStr, 'both', $encoding)\r\n\r\n```php\r\nS::create('foo bar')->padBoth(9, ' ');\r\nS::padBoth('foo bar', 9, ' '); // ' foo bar '\r\n```\r\n\r\n##### padLeft\r\n\r\n$stringy->padLeft(int $length [, string $padStr = ' ' ])\r\n\r\nS::padLeft(string $str , int $length [, string $padStr = ' ' [, string $encoding ]])\r\n\r\nReturns a new string of a given length such that the beginning of the\r\nstring is padded. Alias for pad($str, $length, $padStr, 'left', $encoding)\r\n\r\n```php\r\nS::create($str, $encoding)->padLeft($length, $padStr);\r\nS::padLeft('foo bar', 9, ' '); // ' foo bar'\r\n```\r\n\r\n##### padRight\r\n\r\n$stringy->padRight(int $length [, string $padStr = ' ' ])\r\n\r\nS::padRight(string $str , int $length [, string $padStr = ' ' [, string $encoding ]])\r\n\r\nReturns a new string of a given length such that the end of the string is\r\npadded. Alias for pad($str, $length, $padStr, 'right', $encoding)\r\n\r\n```php\r\nS::create('foo bar')->padRight(10, '_*');\r\nS::padRight('foo bar', 10, '_*'); // 'foo bar_*_'\r\n```\r\n\r\n##### removeLeft\r\n\r\n$stringy->removeLeft(string $substring)\r\n\r\nS::removeLeft(string $str, string $substring [, string $encoding ])\r\n\r\nRemoves the prefix $substring if present.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8')->removeLeft('fòô ');\r\nS::removeLeft('fòô bàř', 'fòô ', 'UTF-8'); // 'bàř'\r\n```\r\n\r\n##### removeRight\r\n\r\n$stringy->removeRight(string $substring)\r\n\r\nS::removeRight(string $str, string $substring [, string $encoding ])\r\n\r\nRemoves the suffix $substring if present.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8')->removeRight(' bàř');\r\nS::removeRight('fòô bàř', ' bàř', 'UTF-8'); // 'fòô'\r\n```\r\n\r\n##### reverse\r\n\r\n$stringy->reverse()\r\n\r\nS::reverse(string $str, [, string $encoding ])\r\n\r\nReverses a string. A multibyte version of strrev.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8')->reverse();\r\nS::reverse('fòô bàř', 'UTF-8'); // 'řàb ôòf'\r\n```\r\n\r\n##### safeTruncate\r\n\r\n$stringy->safeTruncate(int $length, [, string $substring = '' ])\r\n\r\nS::safeTruncate(string $str, int $length, [, string $substring = '' [, string $encoding ]])\r\n\r\nTruncates the string to a given length, while ensuring that it does not\r\nchop words. If $substring is provided, and truncating occurs, the string\r\nis further truncated so that the substring may be appended without\r\nexceeding the desired length.\r\n\r\n```php\r\nS::create('What are your plans today?')->safeTruncate(22, '...');\r\nS::safeTruncate('What are your plans today?', 22, '...'); // 'What are your plans...'\r\n```\r\n\r\n##### shuffle\r\n\r\n$stringy->shuffle()\r\n\r\nS::shuffle(string $str [, string $encoding ])\r\n\r\nA multibyte str_shuffle function. It randomizes the order of characters\r\nin a string.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8')->shuffle();\r\nS::shuffle('fòô bàř', 'UTF-8') // 'àôřb òf'\r\n```\r\n\r\n##### slugify\r\n\r\n$stringy->slugify()\r\n\r\nS::slugify(string $str)\r\n\r\nConverts the supplied text into an URL slug. This includes replacing\r\nnon-ASCII characters with their closest ASCII equivalents, removing\r\nnon-alphanumeric and non-ASCII characters, and replacing whitespace with\r\ndashes. The string is also converted to lowercase.\r\n\r\n```php\r\nS::create('Using strings like fòô bàř')->slugify();\r\nS::slugify('Using strings like fòô bàř') // 'using-strings-like-foo-bar'\r\n```\r\n\r\n##### standardize\r\n\r\n$stringy->standardize()\r\n\r\nS::standardize(string $str)\r\n\r\nConverts some non-ASCII characters to their closest ASCII counterparts.\r\n\r\n```php\r\nS::create('fòô bàř')->standardize();\r\nS::standardize('fòô bàř'); // 'foo bar'\r\n```\r\n\r\n##### startsWith\r\n\r\n$stringy->startsWith(string $substring [, boolean $caseSensitive = true ])\r\n\r\nS::startsWith(string $str, string $substring [, boolean $caseSensitive = true [, string $encoding ]])\r\n\r\nReturns true if the string $str begins with $substring, false otherwise.\r\nBy default, the comparison is case-sensitive, but can be made insensitive\r\nby setting $caseSensitive to false.\r\n\r\n```php\r\nS::create('FÒÔ bàřs', 'UTF-8')->startsWith('fòô bàř', false);\r\nS::startsWith('FÒÔ bàřs', 'fòô bàř', false, 'UTF-8'); // true\r\n```\r\n\r\n##### substr\r\n\r\n$stringy->substr(int $start [, int $length ])\r\n\r\nS::substr(string $str, int $start [, int $length [, string $encoding ]])\r\n\r\nGets the substring of $str beginning at $start with the specified $length.\r\nIt differs from the mb_substr() function in that providing a $length of\r\nnull will return the rest of the string, rather than an empty string.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8')->substr(2, 3);\r\nS::substr('fòô bàř', 2, 3, 'UTF-8'); // 'ô b'\r\n```\r\n\r\n##### surround\r\n\r\n$stringy->surround(string $substring)\r\n\r\nS::surround(string $str, string $substring)\r\n\r\nSurrounds a string with the given substring.\r\n\r\n```php\r\nS::create(' ͜ ')->surround('ʘ');\r\nS::surround(' ͜ ', 'ʘ'); // 'ʘ ͜ ʘ'\r\n```\r\n\r\n##### swapCase\r\n\r\n$stringy->swapCase();\r\n\r\nS::swapCase(string $str [, string $encoding ])\r\n\r\nReturns a case swapped version of a string.\r\n\r\n```php\r\nS::create('Ντανιλ', 'UTF-8')->swapCase();\r\nS::swapCase('Ντανιλ', 'UTF-8'); // 'νΤΑΝΙΛ'\r\n```\r\n\r\n##### tidy\r\n\r\n$stringy->tidy()\r\n\r\nS::tidy(string $str)\r\n\r\nReplaces smart quotes, ellipsis characters, and dashes from Windows-1252\r\n(and commonly used in Word documents) with their ASCII equivalents.\r\n\r\n```php\r\nS::create('“I see…”')->tidy();\r\nS::tidy('“I see…”'); // '\"I see...\"'\r\n```\r\n\r\n##### titleize\r\n\r\n$stringy->titleize([ string $encoding ])\r\n\r\nS::titleize(string $str [, array $ignore [, string $encoding ]])\r\n\r\nCapitalizes the first letter of each word in a string, after trimming.\r\nIgnores the case of other letters, allowing for the use of acronyms.\r\nAlso accepts an array, $ignore, allowing you to list words not to be\r\ncapitalized.\r\n\r\n```php\r\n$ignore = array('at', 'by', 'for', 'in', 'of', 'on', 'out', 'to', 'the');\r\nS::create('i like to watch DVDs at home', 'UTF-8')->titleize($ignore);\r\nS::titleize('i like to watch DVDs at home', $ignore, 'UTF-8');\r\n// 'I Like to Watch DVDs at Home'\r\n```\r\n\r\n##### toSpaces\r\n\r\n$stringy->toSpaces([ tabLength = 4 ])\r\n\r\nS::toSpaces(string $str, [, int $tabLength = 4 ])\r\n\r\nConverts each tab in a string to some number of spaces, as defined by\r\n$tabLength. By default, each tab is converted to 4 consecutive spaces.\r\n\r\n```php\r\nS::create(' String speech = \"Hi\"')->toSpaces();\r\nS::toSpaces(' String speech = \"Hi\"') // ' String speech = \"Hi\"'\r\n```\r\n\r\n##### toTabs\r\n\r\n$stringy->toTabs([ tabLength = 4 ])\r\n\r\nS::toTabs(string $str, [, int $tabLength = 4 ])\r\n\r\nConverts each occurence of some consecutive number of spaces, as defined\r\nby $tabLength, to a tab. By default, each 4 consecutive spaces are\r\nconverted to a tab.\r\n\r\n```php\r\nS::create(' fòô bàř')->toTabs();\r\nS::toTabs(' fòô bàř') // ' fòô bàř'\r\n```\r\n\r\n##### trim\r\n\r\n$stringy->trim()\r\n\r\nS::trim(string $str)\r\n\r\nTrims $str. An alias for PHP's trim() function.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8')->trim();\r\nS::trim(' fòô bàř ') // 'fòô bàř'\r\n```\r\n\r\n##### truncate\r\n\r\n$stringy->truncate(int $length, [, string $substring = '' ])\r\n\r\nS::truncate(string $str, int $length, [, string $substring = '' [, string $encoding ]])\r\n\r\nTruncates $str to a given length. If $substring is provided, and\r\ntruncating occurs, the string is further truncated so that the substring\r\nmay be appended without exceeding the desired length.\r\n\r\n```php\r\nS::create('What are your plans today?')->safeTruncate(19, '...');\r\nS::safeTruncate('What are your plans today?', 19, '...'); // 'What are your pl...'\r\n```\r\n\r\n##### underscored\r\n\r\n$stringy->underscored();\r\n\r\nS::underscored(string $str [, string $encoding ])\r\n\r\nReturns a lowercase and trimmed string seperated by underscores, with\r\nmultibyte support. Underscores are inserted before uppercase characters\r\n(with the exception of the first character of the string), and in place\r\nof spaces as well as dashes.\r\n\r\n```php\r\nS::create('TestUCase')->underscored();\r\nS::underscored('TestUCase'); // 'test_u_case'\r\n```\r\n\r\n##### upperCamelize\r\n\r\n$stringy->upperCamelize();\r\n\r\nS::upperCamelize(string $str [, string $encoding ])\r\n\r\nReturns an UpperCamelCase version of a supplied string, with multibyte\r\nsupport. Trims surrounding spaces, capitalizes letters following digits,\r\nspaces, dashes and underscores, and removes spaces, dashes, underscores.\r\n\r\n```php\r\nS::create('Upper Camel-Case')->upperCamelize();\r\nS::upperCamelize('Upper Camel-Case'); // 'UpperCamelCase'\r\n```\r\n\r\n##### upperCaseFirst\r\n\r\n$stringy->upperCaseFirst();\r\n\r\nS::upperCaseFirst(string $str [, string $encoding ])\r\n\r\nConverts the first character of the supplied string to upper case, with\r\nsupport for multibyte strings.\r\n\r\n```php\r\nS::create('σ test', 'UTF-8')->upperCaseFirst();\r\nS::upperCaseFirst('σ test', 'UTF-8'); // 'Σ test'\r\n```\r\n\r\n## TODO\r\n\r\n**count** => substr_count\r\n\r\n**wordCount** => str_word_count\r\n\r\n**wordWrap**\r\n\r\n**excerpt** ($str, $substring, $radius)\r\n\r\n**pluralize** ($count, $singular, $plural = null)\r\n\r\n**toBoolean**\r\n\r\n## Tests\r\n\r\n[](https://travis-ci.org/danielstjules/Stringy)\r\n\r\nFrom the project directory, tests can be ran using `phpunit`\r\n\r\n## License\r\n\r\nReleased under the MIT License - see `LICENSE.txt` for details.\r\n","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."}
\ No newline at end of file
+{"name":"Stringy","tagline":"A PHP string manipulation library with multibyte support","body":"# Stringy\r\n\r\nA PHP library with a variety of string manipulation functions with multibyte support. Offers both OO method chaining and a procedural-style static wrapper. Compatible with PHP 5.3+. Inspired by underscore.string.js.\r\n\r\n[](https://travis-ci.org/danielstjules/Stringy)\r\n[](https://packagist.org/packages/danielstjules/stringy)\r\n[](https://packagist.org/packages/danielstjules/stringy)\r\n\r\n* [Requiring/Loading](#requiringloading)\r\n* [OO and Procedural](#oo-and-procedural)\r\n* [Methods](#methods)\r\n * [at](#at)\r\n * [camelize](#camelize)\r\n * [collapseWhitespace](#collapsewhitespace)\r\n * [contains](#contains)\r\n * [count](#count)\r\n * [create](#create)\r\n * [dasherize](#dasherize)\r\n * [endsWith](#endswith)\r\n * [ensureLeft](#ensureleft)\r\n * [ensureRight](#ensureright)\r\n * [first](#first)\r\n * [humanize](#humanize)\r\n * [insert](#insert)\r\n * [isAlpha](#isalpha)\r\n * [isAlphanumeric](#isalphanumeric)\r\n * [isBlank](#isblank)\r\n * [isLowerCase](#islowercase)\r\n * [isUpperCase](#isuppercase)\r\n * [last](#last)\r\n * [length](#length)\r\n * [longestCommonPrefix](#longestcommonprefix)\r\n * [longestCommonSuffix](#longestcommonsuffix)\r\n * [longestCommonSubstring](#longestcommonsubstring)\r\n * [lowerCaseFirst](#lowercasefirst)\r\n * [pad](#pad)\r\n * [padBoth](#padboth)\r\n * [padLeft](#padleft)\r\n * [padRight](#padright)\r\n * [removeLeft](#removeleft)\r\n * [removeRight](#removeright)\r\n * [replace](#replace)\r\n * [reverse](#reverse)\r\n * [safeTruncate](#safetruncate)\r\n * [shuffle](#shuffle)\r\n * [slugify](#slugify)\r\n * [standardize](#standardize)\r\n * [startsWith](#startswith)\r\n * [substr](#substr)\r\n * [surround](#surround)\r\n * [swapCase](#swapcase)\r\n * [tidy](#tidy)\r\n * [titleize](#titleize)\r\n * [toSpaces](#tospaces)\r\n * [toTabs](#totabs)\r\n * [trim](#trim)\r\n * [truncate](#truncate)\r\n * [underscored](#underscored)\r\n * [upperCamelize](#uppercamelize)\r\n * [upperCaseFirst](#uppercasefirst)\r\n* [Tests](#tests)\r\n* [License](#license)\r\n\r\n## Requiring/Loading\r\n\r\nIf you're using Composer to manage dependencies, you can include the following in your composer.json file:\r\n\r\n \"require\": {\r\n \"danielstjules/stringy\": \"dev-master\"\r\n }\r\n\r\nThen, after running `composer update` or `php composer.phar update`, you can load the class using Composer's autoloading:\r\n\r\n```php\r\nrequire 'vendor/autoload.php';\r\n```\r\n\r\nOtherwise, you can simply require the file directly:\r\n\r\n```php\r\nrequire_once 'path/to/Stringy/src/Stringy/Stringy.php';\r\n// or\r\nrequire_once 'path/to/Stringy/src/Stringy/StaticStringy.php';\r\n```\r\n\r\nAnd in either case, I'd suggest using an alias.\r\n\r\n```php\r\nuse Stringy\\Stringy as S;\r\n// or\r\nuse Stringy\\StaticStringy as S;\r\n```\r\n\r\n## OO and Procedural\r\n\r\nThe library offers both OO method chaining with `Stringy\\Stringy`, as well as\r\nprocedural-style static method calls with `Stringy\\StaticStringy`. An example\r\nof the former is the following:\r\n\r\n```php\r\nuse Stringy\\Stringy as S;\r\necho S::create(\"Fòô Bàř\", 'UTF-8')->collapseWhitespace()->swapCase(); // 'fÒÔ bÀŘ'\r\n```\r\n\r\n`Stringy\\Stringy` contains a __toString() method, which returns the current\r\nstring when the object is used in a string context. Its $str property is also\r\npublic, and can be accessed directly if required, ie: `S::create('foo')->str // 'foo'`\r\n\r\nUsing the static wrapper, an alternative is the following:\r\n\r\n```php\r\nuse Stringy\\StaticStringy as S;\r\n$string = S::collapseWhitespace(\"Fòô Bàř\", 'UTF-8');\r\necho S::swapCase($string, 'UTF-8'); // 'fÒÔ bÀŘ''\r\n```\r\n\r\n## Methods\r\n\r\nIn the list below, any static method other than S::create refers to a\r\nmethod in Stringy\\StaticStringy. For all others, they're found in Stringy\\Stringy. Furthermore, all methods that return an object of type Stringy return a new object, and do not modify the original.\r\n\r\n*Note: If $encoding is not given, it defaults to mb_internal_encoding().*\r\n\r\n#### at\r\n\r\n$stringy->at(int $index)\r\n\r\nS::substr(int $index [, string $encoding ])\r\n\r\nGets the character of $str at $index, with indexes starting at 0.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8')->at(6);\r\nS::at('fòô bàř', 6, 'UTF-8'); // 'ř'\r\n```\r\n\r\n#### camelize\r\n\r\n$stringy->camelize();\r\n\r\nS::camelize(string $str [, string $encoding ])\r\n\r\nReturns a camelCase version of a supplied string, with multibyte support.\r\nTrims surrounding spaces, capitalizes letters following digits, spaces,\r\ndashes and underscores, and removes spaces, dashes, underscores.\r\n\r\n```php\r\nS::create('Camel-Case')->camelize();\r\nS::camelize('Camel-Case'); // 'camelCase'\r\n```\r\n\r\n#### collapseWhitespace\r\n\r\n$stringy->collapseWhitespace()\r\n\r\nS::collapseWhitespace(string $str)\r\n\r\nTrims the string and replaces consecutive whitespace characters with a\r\nsingle space. This inclues tabs and newline characters.\r\n\r\n```php\r\nS::create(' Ο συγγραφέας ')->collapseWhitespace();\r\nS::collapseWhitespace(' Ο συγγραφέας '); // 'Ο συγγραφέας'\r\n```\r\n\r\n#### contains\r\n\r\n$stringy->contains(string $needle)\r\n\r\nS::contains(string $haystack, string $needle [, string $encoding ])\r\n\r\nReturns true if $haystack contains $needle, false otherwise.\r\n\r\n```php\r\nS::create('Ο συγγραφέας είπε', 'UTF-8')->contains('συγγραφέας');\r\nS::contains('Ο συγγραφέας είπε', 'συγγραφέας', 'UTF-8'); // true\r\n```\r\n\r\n#### count\r\n\r\n$stringy->count(string $substring)\r\n\r\nS::count(string $str, string $substring [, string $encoding ])\r\n\r\nReturns the number of occurences of $substring in $str. An alias for\r\nmb_substr_count()\r\n\r\n```php\r\nS::create('Ο συγγραφέας είπε', 'UTF-8')->count('α');\r\nS::count('Ο συγγραφέας είπε', 'α', 'UTF-8'); // 2\r\n```\r\n\r\n#### create\r\n\r\n$stringy = S::create(string $str, [, $encoding ])\r\n\r\nCreates a Stringy object and assigns both str and encoding properties\r\nthe supplied values. If $encoding is not specified, it defaults to\r\nmb_internal_encoding(). It then returns the instantiated object.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8'); // 'fòô bàř'\r\n```\r\n\r\n#### dasherize\r\n\r\n$stringy->dasherize();\r\n\r\nS::dasherize(string $str [, string $encoding ])\r\n\r\nReturns a lowercase and trimmed string seperated by dashes, with\r\nmultibyte support. Dashes are inserted before uppercase characters\r\n(with the exception of the first character of the string), and in place\r\nof spaces as well as underscores.\r\n\r\n```php\r\nS::create('TestDCase')->dasherize();\r\nS::dasherize('TestDCase'); // 'test-d-case'\r\n```\r\n\r\n#### endsWith\r\n\r\n$stringy->endsWith(string $substring [, boolean $caseSensitive = true ])\r\n\r\nS::endsWith(string $str, string $substring [, boolean $caseSensitive = true [, string $encoding ]])\r\n\r\nReturns true if the string $str ends with $substring, false otherwise.\r\nBy default, the comparison is case-sensitive, but can be made insensitive\r\nby setting $caseSensitive to false.\r\n\r\n```php\r\nS::create('FÒÔ bàřs', 'UTF-8')->endsWith('àřs', true);\r\nS::endsWith('FÒÔ bàřs', 'àřs', true, 'UTF-8'); // true\r\n```\r\n\r\n#### ensureLeft\r\n\r\n$stringy->ensureLeft(string $substring)\r\n\r\nS::ensureLeft(string $substring [, string $encoding ])\r\n\r\nEnsures that $str begins with $substring.\r\n\r\n```php\r\nS::create('foobar')->ensureLeft('http://');\r\nS::ensureLeft('foobar', 'http://'); // 'http://foobar'\r\n```\r\n\r\n#### ensureRight\r\n\r\n$stringy->ensureRight(string $substring)\r\n\r\nS::ensureRight(string $substring [, string $encoding ])\r\n\r\nEnsures that $str ends with $substring.\r\n\r\n```php\r\nS::create('foobar')->ensureRight('.com');\r\nS::ensureRight('foobar', '.com'); // 'foobar.com'\r\n```\r\n\r\n#### first\r\n\r\n$stringy->first(int $n)\r\n\r\nS::first(int $n [, string $encoding ])\r\n\r\nGets the first $n characters of $str.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8')->first(3);\r\nS::first('fòô bàř', 3, 'UTF-8'); // 'fòô'\r\n```\r\n\r\n#### humanize\r\n\r\n$stringy->humanize()\r\n\r\nS::humanize(string $str [, string $encoding ])\r\n\r\nCapitalizes the first word of a string, replaces underscores with spaces,\r\nand strips '_id'.\r\n\r\n```php\r\nS::create('author_id')->humanize();\r\nS::humanize('author_id'); // 'Author'\r\n```\r\n\r\n#### insert\r\n\r\n$stringy->insert(int $index, string $substring)\r\n\r\nS::insert(string $str, int $index, string $substring [, string $encoding ])\r\n\r\nInserts $substring into $str at the $index provided.\r\n\r\n```php\r\nS::create('fòô bà', 'UTF-8')->insert('ř', 6);\r\nS::insert('fòô bà', 'ř', 6, 'UTF-8'); // 'fòô bàř'\r\n```\r\n\r\n#### isAlpha\r\n\r\n$stringy->isAlpha()\r\n\r\nS::isAlpha(string $str [, string $encoding ])\r\n\r\nReturns true if $str contains only alphabetic chars, false otherwise.\r\n\r\n```php\r\nS::create('丹尼爾', 'UTF-8')->isAlpha();\r\nS::isAlpha('丹尼爾', 'UTF-8'); // true\r\n```\r\n\r\n#### isAlphanumeric\r\n\r\n$stringy->isAlphanumeric()\r\n\r\nS::isAlphanumeric(string $str [, string $encoding ])\r\n\r\nReturns true if $str contains only alphabetic and numeric chars, false\r\notherwise.\r\n\r\n```php\r\nS::create('دانيال1', 'UTF-8')->isAlphanumeric();\r\nS::isAlphanumeric('دانيال1', 'UTF-8'); // true\r\n```\r\n\r\n#### isBlank\r\n\r\n$stringy->isBlank()\r\n\r\nS::isBlank(string $str [, string $encoding ])\r\n\r\nReturns true if $str contains only whitespace chars, false otherwise.\r\n\r\n```php\r\nS::create(\"\\n\\t \\v\\f\")->isBlank();\r\nS::isBlank(\"\\n\\t \\v\\f\"); // true\r\n```\r\n\r\n#### isLowerCase\r\n\r\n$stringy->isLowerCase()\r\n\r\nS::isLowerCase(string $str [, string $encoding ])\r\n\r\nReturns true if $str contains only lower case chars, false otherwise.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8')->isLowerCase();\r\nS::isLowerCase('fòô bàř', 'UTF-8'); // true\r\n```\r\n\r\n#### isUpperCase\r\n\r\n$stringy->isUpperCase()\r\n\r\nS::isUpperCase(string $str [, string $encoding ])\r\n\r\nReturns true if $str contains only upper case chars, false otherwise.\r\n\r\n```php\r\nS::create('FÒÔBÀŘ',, 'UTF-8')->isUpperCase();\r\nS::isUpperCase('FÒÔBÀŘ',, 'UTF-8'); // true\r\n```\r\n\r\n#### last\r\n\r\n$stringy->last(int $n)\r\n\r\nS::last(int $n [, string $encoding ])\r\n\r\nGets the last $n characters of $str.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8')->last(3);\r\nS::last('fòô bàř', 3, 'UTF-8'); // 'bàř'\r\n```\r\n\r\n#### length\r\n\r\n$stringy->length()\r\n\r\nS::length(string $str [, string $encoding ])\r\n\r\nReturns the length of $str. An alias for PHP's mb_strlen() function.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8')->length();\r\nS::length('fòô bàř', 'UTF-8'); // 7\r\n```\r\n\r\n#### longestCommonPrefix\r\n\r\n$stringy->longestCommonPrefix(string $otherStr)\r\n\r\nS::longestCommonPrefix(string $str, string $otherStr [, $encoding ])\r\n\r\nFinds the longest common prefix between $str and $otherStr.\r\n\r\n```php\r\nS::create('fòô bar', 'UTF-8')->longestCommonPrefix('fòr bar');\r\nS::longestCommonPrefix('fòô bar', 'fòr bar', 'UTF-8'); // 'fò'\r\n```\r\n\r\n#### longestCommonSuffix\r\n\r\n$stringy->longestCommonSuffix(string $otherStr)\r\n\r\nS::longestCommonSuffix(string $str, string $otherStr [, $encoding ])\r\n\r\nFinds the longest common suffix between $str and $otherStr.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8')->longestCommonSuffix('fòr bàř');\r\nS::longestCommonSuffix('fòô bàř', 'fòr bàř', 'UTF-8'); // ' bàř'\r\n```\r\n\r\n#### longestCommonSubstring\r\n\r\n$stringy->longestCommonSubstring(string $otherStr)\r\n\r\nS::longestCommonSubstring(string $str, string $otherStr [, $encoding ])\r\n\r\nFinds the longest common substring between $str and $otherStr. In the\r\ncase of ties, returns that which occurs first.\r\n\r\n```php\r\nS::create('foo bar')->longestCommonSubstring('boo far');\r\nS::longestCommonSubstring('foo bar', 'boo far'); // 'oo '\r\n```\r\n\r\n#### lowerCaseFirst\r\n\r\n$stringy->lowerCaseFirst();\r\n\r\nS::lowerCaseFirst(string $str [, string $encoding ])\r\n\r\nConverts the first character of the supplied string to lower case, with\r\nsupport for multibyte strings.\r\n\r\n```php\r\nS::create('Σ test', 'UTF-8')->lowerCaseFirst();\r\nS::lowerCaseFirst('Σ test', 'UTF-8'); // 'σ test'\r\n```\r\n\r\n#### pad\r\n\r\n$stringy->pad(int $length [, string $padStr = ' ' [, string $padType = 'right' ]])\r\n\r\nS::pad(string $str , int $length [, string $padStr = ' ' [, string $padType = 'right' [, string $encoding ]]])\r\n\r\nPads a string to a given length with another string. If length is less\r\nthan or equal to the length of $str, then no padding takes places. The\r\ndefault string used for padding is a space, and the default type (one of\r\n'left', 'right', 'both') is 'right'. Throws an exception if $padType\r\nisn't one of those 3 values.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8')->pad( 10, '¬ø', 'left',);\r\nS::pad('fòô bàř', 10, '¬ø', 'left', 'UTF-8'); // '¬ø¬fòô bàř'\r\n```\r\n\r\n#### padBoth\r\n\r\n$stringy->padBoth(int $length [, string $padStr = ' ' ])\r\n\r\nS::padBoth(string $str , int $length [, string $padStr = ' ' [, string $encoding ]])\r\n\r\nReturns a new string of a given length such that both sides of the string\r\nstring are padded. Alias for pad($str, $length, $padStr, 'both', $encoding)\r\n\r\n```php\r\nS::create('foo bar')->padBoth(9, ' ');\r\nS::padBoth('foo bar', 9, ' '); // ' foo bar '\r\n```\r\n\r\n#### padLeft\r\n\r\n$stringy->padLeft(int $length [, string $padStr = ' ' ])\r\n\r\nS::padLeft(string $str , int $length [, string $padStr = ' ' [, string $encoding ]])\r\n\r\nReturns a new string of a given length such that the beginning of the\r\nstring is padded. Alias for pad($str, $length, $padStr, 'left', $encoding)\r\n\r\n```php\r\nS::create($str, $encoding)->padLeft($length, $padStr);\r\nS::padLeft('foo bar', 9, ' '); // ' foo bar'\r\n```\r\n\r\n#### padRight\r\n\r\n$stringy->padRight(int $length [, string $padStr = ' ' ])\r\n\r\nS::padRight(string $str , int $length [, string $padStr = ' ' [, string $encoding ]])\r\n\r\nReturns a new string of a given length such that the end of the string is\r\npadded. Alias for pad($str, $length, $padStr, 'right', $encoding)\r\n\r\n```php\r\nS::create('foo bar')->padRight(10, '_*');\r\nS::padRight('foo bar', 10, '_*'); // 'foo bar_*_'\r\n```\r\n\r\n#### removeLeft\r\n\r\n$stringy->removeLeft(string $substring)\r\n\r\nS::removeLeft(string $str, string $substring [, string $encoding ])\r\n\r\nRemoves the prefix $substring if present.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8')->removeLeft('fòô ');\r\nS::removeLeft('fòô bàř', 'fòô ', 'UTF-8'); // 'bàř'\r\n```\r\n\r\n#### removeRight\r\n\r\n$stringy->removeRight(string $substring)\r\n\r\nS::removeRight(string $str, string $substring [, string $encoding ])\r\n\r\nRemoves the suffix $substring if present.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8')->removeRight(' bàř');\r\nS::removeRight('fòô bàř', ' bàř', 'UTF-8'); // 'fòô'\r\n```\r\n\r\n#### replace\r\n\r\n$stringy->replace(string $search, string $replace)\r\n\r\nS::replace(string $str, string $search, string $replace [, string $encoding ])\r\n\r\nReplaces all occurrences of $search with $replace in $str.\r\n\r\n```php\r\nS::create('fòô bàř fòô bàř', 'UTF-8')->replace('fòô ', '');\r\nS::replace('fòô bàř fòô bàř', 'fòô ', '', 'UTF-8'); // 'bàř bàř'\r\n```\r\n\r\n#### reverse\r\n\r\n$stringy->reverse()\r\n\r\nS::reverse(string $str, [, string $encoding ])\r\n\r\nReverses a string. A multibyte version of strrev.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8')->reverse();\r\nS::reverse('fòô bàř', 'UTF-8'); // 'řàb ôòf'\r\n```\r\n\r\n#### safeTruncate\r\n\r\n$stringy->safeTruncate(int $length, [, string $substring = '' ])\r\n\r\nS::safeTruncate(string $str, int $length, [, string $substring = '' [, string $encoding ]])\r\n\r\nTruncates the string to a given length, while ensuring that it does not\r\nchop words. If $substring is provided, and truncating occurs, the string\r\nis further truncated so that the substring may be appended without\r\nexceeding the desired length.\r\n\r\n```php\r\nS::create('What are your plans today?')->safeTruncate(22, '...');\r\nS::safeTruncate('What are your plans today?', 22, '...'); // 'What are your plans...'\r\n```\r\n\r\n#### shuffle\r\n\r\n$stringy->shuffle()\r\n\r\nS::shuffle(string $str [, string $encoding ])\r\n\r\nA multibyte str_shuffle function. It randomizes the order of characters\r\nin a string.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8')->shuffle();\r\nS::shuffle('fòô bàř', 'UTF-8'); // 'àôřb òf'\r\n```\r\n\r\n#### slugify\r\n\r\n$stringy->slugify()\r\n\r\nS::slugify(string $str)\r\n\r\nConverts the supplied text into an URL slug. This includes replacing\r\nnon-ASCII characters with their closest ASCII equivalents, removing\r\nnon-alphanumeric and non-ASCII characters, and replacing whitespace with\r\ndashes. The string is also converted to lowercase.\r\n\r\n```php\r\nS::create('Using strings like fòô bàř')->slugify();\r\nS::slugify('Using strings like fòô bàř'); // 'using-strings-like-foo-bar'\r\n```\r\n\r\n#### standardize\r\n\r\n$stringy->standardize()\r\n\r\nS::standardize(string $str)\r\n\r\nConverts some non-ASCII characters to their closest ASCII counterparts.\r\n\r\n```php\r\nS::create('fòô bàř')->standardize();\r\nS::standardize('fòô bàř'); // 'foo bar'\r\n```\r\n\r\n#### startsWith\r\n\r\n$stringy->startsWith(string $substring [, boolean $caseSensitive = true ])\r\n\r\nS::startsWith(string $str, string $substring [, boolean $caseSensitive = true [, string $encoding ]])\r\n\r\nReturns true if the string $str begins with $substring, false otherwise.\r\nBy default, the comparison is case-sensitive, but can be made insensitive\r\nby setting $caseSensitive to false.\r\n\r\n```php\r\nS::create('FÒÔ bàřs', 'UTF-8')->startsWith('fòô bàř', false);\r\nS::startsWith('FÒÔ bàřs', 'fòô bàř', false, 'UTF-8'); // true\r\n```\r\n\r\n#### substr\r\n\r\n$stringy->substr(int $start [, int $length ])\r\n\r\nS::substr(string $str, int $start [, int $length [, string $encoding ]])\r\n\r\nGets the substring of $str beginning at $start with the specified $length.\r\nIt differs from the mb_substr() function in that providing a $length of\r\nnull will return the rest of the string, rather than an empty string.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8')->substr(2, 3);\r\nS::substr('fòô bàř', 2, 3, 'UTF-8'); // 'ô b'\r\n```\r\n\r\n#### surround\r\n\r\n$stringy->surround(string $substring)\r\n\r\nS::surround(string $str, string $substring)\r\n\r\nSurrounds a string with the given substring.\r\n\r\n```php\r\nS::create(' ͜ ')->surround('ʘ');\r\nS::surround(' ͜ ', 'ʘ'); // 'ʘ ͜ ʘ'\r\n```\r\n\r\n#### swapCase\r\n\r\n$stringy->swapCase();\r\n\r\nS::swapCase(string $str [, string $encoding ])\r\n\r\nReturns a case swapped version of a string.\r\n\r\n```php\r\nS::create('Ντανιλ', 'UTF-8')->swapCase();\r\nS::swapCase('Ντανιλ', 'UTF-8'); // 'νΤΑΝΙΛ'\r\n```\r\n\r\n#### tidy\r\n\r\n$stringy->tidy()\r\n\r\nS::tidy(string $str)\r\n\r\nReplaces smart quotes, ellipsis characters, and dashes from Windows-1252\r\n(and commonly used in Word documents) with their ASCII equivalents.\r\n\r\n```php\r\nS::create('“I see…”')->tidy();\r\nS::tidy('“I see…”'); // '\"I see...\"'\r\n```\r\n\r\n#### titleize\r\n\r\n$stringy->titleize([ string $encoding ])\r\n\r\nS::titleize(string $str [, array $ignore [, string $encoding ]])\r\n\r\nCapitalizes the first letter of each word in a string, after trimming.\r\nIgnores the case of other letters, allowing for the use of acronyms.\r\nAlso accepts an array, $ignore, allowing you to list words not to be\r\ncapitalized.\r\n\r\n```php\r\n$ignore = array('at', 'by', 'for', 'in', 'of', 'on', 'out', 'to', 'the');\r\nS::create('i like to watch DVDs at home', 'UTF-8')->titleize($ignore);\r\nS::titleize('i like to watch DVDs at home', $ignore, 'UTF-8');\r\n// 'I Like to Watch DVDs at Home'\r\n```\r\n\r\n#### toSpaces\r\n\r\n$stringy->toSpaces([ tabLength = 4 ])\r\n\r\nS::toSpaces(string $str, [, int $tabLength = 4 ])\r\n\r\nConverts each tab in a string to some number of spaces, as defined by\r\n$tabLength. By default, each tab is converted to 4 consecutive spaces.\r\n\r\n```php\r\nS::create(' String speech = \"Hi\"')->toSpaces();\r\nS::toSpaces(' String speech = \"Hi\"'); // ' String speech = \"Hi\"'\r\n```\r\n\r\n#### toTabs\r\n\r\n$stringy->toTabs([ tabLength = 4 ])\r\n\r\nS::toTabs(string $str, [, int $tabLength = 4 ])\r\n\r\nConverts each occurence of some consecutive number of spaces, as defined\r\nby $tabLength, to a tab. By default, each 4 consecutive spaces are\r\nconverted to a tab.\r\n\r\n```php\r\nS::create(' fòô bàř')->toTabs();\r\nS::toTabs(' fòô bàř'); // ' fòô bàř'\r\n```\r\n\r\n#### trim\r\n\r\n$stringy->trim()\r\n\r\nS::trim(string $str)\r\n\r\nTrims $str. An alias for PHP's trim() function.\r\n\r\n```php\r\nS::create('fòô bàř', 'UTF-8')->trim();\r\nS::trim(' fòô bàř '); // 'fòô bàř'\r\n```\r\n\r\n#### truncate\r\n\r\n$stringy->truncate(int $length, [, string $substring = '' ])\r\n\r\nS::truncate(string $str, int $length, [, string $substring = '' [, string $encoding ]])\r\n\r\nTruncates $str to a given length. If $substring is provided, and\r\ntruncating occurs, the string is further truncated so that the substring\r\nmay be appended without exceeding the desired length.\r\n\r\n```php\r\nS::create('What are your plans today?')->safeTruncate(19, '...');\r\nS::safeTruncate('What are your plans today?', 19, '...'); // 'What are your pl...'\r\n```\r\n\r\n#### underscored\r\n\r\n$stringy->underscored();\r\n\r\nS::underscored(string $str [, string $encoding ])\r\n\r\nReturns a lowercase and trimmed string seperated by underscores, with\r\nmultibyte support. Underscores are inserted before uppercase characters\r\n(with the exception of the first character of the string), and in place\r\nof spaces as well as dashes.\r\n\r\n```php\r\nS::create('TestUCase')->underscored();\r\nS::underscored('TestUCase'); // 'test_u_case'\r\n```\r\n\r\n#### upperCamelize\r\n\r\n$stringy->upperCamelize();\r\n\r\nS::upperCamelize(string $str [, string $encoding ])\r\n\r\nReturns an UpperCamelCase version of a supplied string, with multibyte\r\nsupport. Trims surrounding spaces, capitalizes letters following digits,\r\nspaces, dashes and underscores, and removes spaces, dashes, underscores.\r\n\r\n```php\r\nS::create('Upper Camel-Case')->upperCamelize();\r\nS::upperCamelize('Upper Camel-Case'); // 'UpperCamelCase'\r\n```\r\n\r\n#### upperCaseFirst\r\n\r\n$stringy->upperCaseFirst();\r\n\r\nS::upperCaseFirst(string $str [, string $encoding ])\r\n\r\nConverts the first character of the supplied string to upper case, with\r\nsupport for multibyte strings.\r\n\r\n```php\r\nS::create('σ test', 'UTF-8')->upperCaseFirst();\r\nS::upperCaseFirst('σ test', 'UTF-8'); // 'Σ test'\r\n```\r\n\r\n## Tests\r\n\r\nFrom the project directory, tests can be ran using `phpunit`\r\n\r\n## License\r\n\r\nReleased under the MIT License - see `LICENSE.txt` for details.\r\n","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."}
\ No newline at end of file