1
0
mirror of https://github.com/danielstjules/Stringy.git synced 2025-08-23 05:13:09 +02:00

Create gh-pages branch via GitHub

This commit is contained in:
Daniel St. Jules
2014-02-12 23:28:07 -05:00
parent e9031de482
commit 7752239c4f
2 changed files with 99 additions and 40 deletions

View File

@@ -30,22 +30,26 @@
<section> <section>
<p><img src="http://danielstjules.com/stringy/logo.png" alt="Stringy"></p> <p><img src="http://danielstjules.com/stringy/logo.png" alt="Stringy"></p>
<p>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.</p> <p>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.</p>
<p><a href="https://travis-ci.org/danielstjules/Stringy"><img src="https://travis-ci.org/danielstjules/Stringy.png" alt="Build Status"></a></p> <p><a href="https://travis-ci.org/danielstjules/Stringy"><img src="https://travis-ci.org/danielstjules/Stringy.png" alt="Build Status"></a></p>
<ul> <ul>
<li><a href="#requiringloading">Requiring/Loading</a></li> <li><a href="#requiringloading">Requiring/Loading</a></li>
<li><a href="#oo-and-procedural">OO and Procedural</a></li> <li><a href="#oo-and-procedural">OO and Procedural</a></li>
<li><a href="#implemented-interfaces">Implemented Interfaces</a></li>
<li> <li>
<a href="#methods">Methods</a> <a href="#methods">Methods</a>
<ul> <ul>
<li><a href="#at">at</a></li> <li><a href="#at">at</a></li>
<li><a href="#camelize">camelize</a></li> <li><a href="#camelize">camelize</a></li>
<li><a href="#chars">chars</a></li>
<li><a href="#collapsewhitespace">collapseWhitespace</a></li> <li><a href="#collapsewhitespace">collapseWhitespace</a></li>
<li><a href="#contains">contains</a></li> <li><a href="#contains">contains</a></li>
<li><a href="#count">count</a></li> <li><a href="#countsubstr">countSubstr</a></li>
<li><a href="#create">create</a></li> <li><a href="#create">create</a></li>
<li><a href="#dasherize">dasherize</a></li> <li><a href="#dasherize">dasherize</a></li>
<li><a href="#endswith">endsWith</a></li> <li><a href="#endswith">endsWith</a></li>
@@ -103,23 +107,25 @@
</ul><h2> </ul><h2>
<a name="requiringloading" class="anchor" href="#requiringloading"><span class="octicon octicon-link"></span></a>Requiring/Loading</h2> <a name="requiringloading" class="anchor" href="#requiringloading"><span class="octicon octicon-link"></span></a>Requiring/Loading</h2>
<p>If you're using Composer to manage dependencies, you can include the following in your composer.json file:</p> <p>If you're using Composer to manage dependencies, you can include the following
in your composer.json file:</p>
<pre><code>"require": { <pre><code>"require": {
"danielstjules/stringy": "dev-master" "danielstjules/stringy": "dev-master"
} }
</code></pre> </code></pre>
<p>Then, after running <code>composer update</code> or <code>php composer.phar update</code>, you can load the class using Composer's autoloading:</p> <p>Then, after running <code>composer update</code> or <code>php composer.phar update</code>, you can
load the class using Composer's autoloading:</p>
<div class="highlight highlight-php"><pre><span class="k">require</span> <span class="s1">'vendor/autoload.php'</span><span class="p">;</span> <div class="highlight highlight-php"><pre><span class="k">require</span> <span class="s1">'vendor/autoload.php'</span><span class="p">;</span>
</pre></div> </pre></div>
<p>Otherwise, you can simply require the file directly:</p> <p>Otherwise, you can simply require the file directly:</p>
<div class="highlight highlight-php"><pre><span class="k">require_once</span> <span class="s1">'path/to/Stringy/src/Stringy/Stringy.php'</span><span class="p">;</span> <div class="highlight highlight-php"><pre><span class="k">require_once</span> <span class="s1">'path/to/Stringy/src/Stringy.php'</span><span class="p">;</span>
<span class="c1">// or</span> <span class="c1">// or</span>
<span class="k">require_once</span> <span class="s1">'path/to/Stringy/src/Stringy/StaticStringy.php'</span><span class="p">;</span> <span class="k">require_once</span> <span class="s1">'path/to/Stringy/src/StaticStringy.php'</span><span class="p">;</span>
</pre></div> </pre></div>
<p>And in either case, I'd suggest using an alias.</p> <p>And in either case, I'd suggest using an alias.</p>
@@ -140,9 +146,9 @@ of the former is the following:</p>
<span class="k">echo</span> <span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'Fòô Bàř'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">)</span><span class="o">-&gt;</span><span class="na">collapseWhitespace</span><span class="p">()</span><span class="o">-&gt;</span><span class="na">swapCase</span><span class="p">();</span> <span class="c1">// 'fÒÔ bÀŘ'</span> <span class="k">echo</span> <span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'Fòô Bàř'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">)</span><span class="o">-&gt;</span><span class="na">collapseWhitespace</span><span class="p">()</span><span class="o">-&gt;</span><span class="na">swapCase</span><span class="p">();</span> <span class="c1">// 'fÒÔ bÀŘ'</span>
</pre></div> </pre></div>
<p><code>Stringy\Stringy</code> contains a __toString() method, which returns the current <p><code>Stringy\Stringy</code> has a __toString() method, which returns the current string
string when the object is used in a string context. Its $str property is also when the object is used in a string context, ie:
public, and can be accessed directly if required, ie: <code>S::create('foo')-&gt;str // 'foo'</code></p> <code>(string) S::create('foo') // 'foo'</code></p>
<p>Using the static wrapper, an alternative is the following:</p> <p>Using the static wrapper, an alternative is the following:</p>
@@ -151,11 +157,49 @@ public, and can be accessed directly if required, ie: <code>S::create('foo')-&gt
<span class="k">echo</span> <span class="nx">S</span><span class="o">::</span><span class="na">swapCase</span><span class="p">(</span><span class="nv">$string</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">);</span> <span class="c1">// 'fÒÔ bÀŘ'</span> <span class="k">echo</span> <span class="nx">S</span><span class="o">::</span><span class="na">swapCase</span><span class="p">(</span><span class="nv">$string</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">);</span> <span class="c1">// 'fÒÔ bÀŘ'</span>
</pre></div> </pre></div>
<h2>
<a name="implemented-interfaces" class="anchor" href="#implemented-interfaces"><span class="octicon octicon-link"></span></a>Implemented Interfaces</h2>
<p><code>Stringy\Stringy</code> implements the <code>IteratorAggregate</code> interface, meaning that
<code>foreach</code> can be used with an instance of the class:</p>
<div class="highlight highlight-php"><pre><span class="nv">$stringy</span> <span class="o">=</span> <span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'Fòô Bàř'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">);</span>
<span class="k">foreach</span> <span class="p">(</span><span class="nv">$stringy</span> <span class="k">as</span> <span class="nv">$char</span><span class="p">)</span> <span class="p">{</span>
<span class="k">echo</span> <span class="nv">$char</span><span class="p">;</span>
<span class="p">}</span>
<span class="c1">// 'Fòô Bàř'</span>
</pre></div>
<p>It implements the <code>Countable</code> interface, enabling the use of <code>count()</code> to
retrieve the number of characters in the string:</p>
<div class="highlight highlight-php"><pre><span class="nv">$stringy</span> <span class="o">=</span> <span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'Fòô'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">);</span>
<span class="nb">count</span><span class="p">(</span><span class="nv">$stringy</span><span class="p">);</span> <span class="c1">// 3</span>
</pre></div>
<p>Furthermore, the <code>ArrayAccess</code> interface has been implemented. As a result,
<code>isset()</code> can be used to check if a character at a specific index exists. And
since <code>Stringy\Stringy</code> is immutable, any call to <code>offsetSet</code> or <code>offsetUnset</code>
will throw an exception. <code>offsetGet</code> has been implemented, however, and accepts
both positive and negative indexes. Invalid indexes result in an
<code>OutOfBoundsException</code>.</p>
<div class="highlight highlight-php"><pre><span class="nv">$stringy</span> <span class="o">=</span> <span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'Bàř'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">);</span>
<span class="k">echo</span> <span class="nv">$stringy</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span> <span class="c1">// 'ř'</span>
<span class="k">echo</span> <span class="nv">$stringy</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">];</span> <span class="c1">// 'à'</span>
<span class="nb">isset</span><span class="p">(</span><span class="nv">$stringy</span><span class="p">[</span><span class="o">-</span><span class="mi">4</span><span class="p">]);</span> <span class="c1">// false</span>
<span class="nv">$stringy</span><span class="p">[</span><span class="mi">3</span><span class="p">];</span> <span class="c1">// OutOfBoundsException</span>
<span class="nv">$stringy</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'a'</span><span class="p">;</span> <span class="c1">// Exception</span>
</pre></div>
<h2> <h2>
<a name="methods" class="anchor" href="#methods"><span class="octicon octicon-link"></span></a>Methods</h2> <a name="methods" class="anchor" href="#methods"><span class="octicon octicon-link"></span></a>Methods</h2>
<p>In the list below, any static method other than S::create refers to a <p>In the list below, any static method other than S::create refers to a method in
method in <code>Stringy\StaticStringy</code>. For all others, they're found in <code>Stringy\Stringy</code>. Furthermore, all methods that return a Stringy object or string do not modify the original.</p> <code>Stringy\StaticStringy</code>. For all others, they're found in <code>Stringy\Stringy</code>.
Furthermore, all methods that return a Stringy object or string do not modify
the original. Stringy objects are immutable.</p>
<p><em>Note: If <code>$encoding</code> is not given, it defaults to <code>mb_internal_encoding()</code>.</em></p> <p><em>Note: If <code>$encoding</code> is not given, it defaults to <code>mb_internal_encoding()</code>.</em></p>
@@ -164,9 +208,9 @@ method in <code>Stringy\StaticStringy</code>. For all others, they're found in <
<p>$stringy-&gt;at(int $index)</p> <p>$stringy-&gt;at(int $index)</p>
<p>S::substr(int $index [, string $encoding ])</p> <p>S::at(int $index [, string $encoding ])</p>
<p>Returns the character of the string at $index, with indexes starting at 0.</p> <p>Returns the character at $index, with indexes starting at 0.</p>
<div class="highlight highlight-php"><pre><span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'fòô bàř'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">)</span><span class="o">-&gt;</span><span class="na">at</span><span class="p">(</span><span class="mi">6</span><span class="p">);</span> <div class="highlight highlight-php"><pre><span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'fòô bàř'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">)</span><span class="o">-&gt;</span><span class="na">at</span><span class="p">(</span><span class="mi">6</span><span class="p">);</span>
<span class="nx">S</span><span class="o">::</span><span class="na">at</span><span class="p">(</span><span class="s1">'fòô bàř'</span><span class="p">,</span> <span class="mi">6</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">);</span> <span class="c1">// 'ř'</span> <span class="nx">S</span><span class="o">::</span><span class="na">at</span><span class="p">(</span><span class="s1">'fòô bàř'</span><span class="p">,</span> <span class="mi">6</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">);</span> <span class="c1">// 'ř'</span>
@@ -179,14 +223,27 @@ method in <code>Stringy\StaticStringy</code>. For all others, they're found in <
<p>S::camelize(string $str [, string $encoding ])</p> <p>S::camelize(string $str [, string $encoding ])</p>
<p>Returns a camelCase version of the supplied string. Trims surrounding <p>Returns a camelCase version of the string. Trims surrounding spaces,
spaces, capitalizes letters following digits, spaces, dashes and capitalizes letters following digits, spaces, dashes and underscores,
underscores, and removes spaces, dashes, underscores.</p> and removes spaces, dashes, as well as underscores.</p>
<div class="highlight highlight-php"><pre><span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'Camel-Case'</span><span class="p">)</span><span class="o">-&gt;</span><span class="na">camelize</span><span class="p">();</span> <div class="highlight highlight-php"><pre><span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'Camel-Case'</span><span class="p">)</span><span class="o">-&gt;</span><span class="na">camelize</span><span class="p">();</span>
<span class="nx">S</span><span class="o">::</span><span class="na">camelize</span><span class="p">(</span><span class="s1">'Camel-Case'</span><span class="p">);</span> <span class="c1">// 'camelCase'</span> <span class="nx">S</span><span class="o">::</span><span class="na">camelize</span><span class="p">(</span><span class="s1">'Camel-Case'</span><span class="p">);</span> <span class="c1">// 'camelCase'</span>
</pre></div> </pre></div>
<h4>
<a name="chars" class="anchor" href="#chars"><span class="octicon octicon-link"></span></a>chars</h4>
<p>$stringy-&gt;chars();</p>
<p>S::chars(string $str [, string $encoding ])</p>
<p>Returns an array consisting of the characters in the string.</p>
<div class="highlight highlight-php"><pre><span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'Fòô Bàř'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">)</span><span class="o">-&gt;</span><span class="na">chars</span><span class="p">();</span>
<span class="nx">S</span><span class="o">::</span><span class="na">chars</span><span class="p">(</span><span class="s1">'Fòô Bàř'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">);</span> <span class="c1">// array(F', 'ò', 'ô', ' ', 'B', 'à', 'ř')</span>
</pre></div>
<h4> <h4>
<a name="collapsewhitespace" class="anchor" href="#collapsewhitespace"><span class="octicon octicon-link"></span></a>collapseWhitespace</h4> <a name="collapsewhitespace" class="anchor" href="#collapsewhitespace"><span class="octicon octicon-link"></span></a>collapseWhitespace</h4>
@@ -218,28 +275,30 @@ by setting $caseSensitive to false.</p>
</pre></div> </pre></div>
<h4> <h4>
<a name="count" class="anchor" href="#count"><span class="octicon octicon-link"></span></a>count</h4> <a name="countsubstr" class="anchor" href="#countsubstr"><span class="octicon octicon-link"></span></a>countSubstr</h4>
<p>$stringy-&gt;count(string $substring [, boolean $caseSensitive = true ])</p> <p>$stringy-&gt;countSubstr(string $substring [, boolean $caseSensitive = true ])</p>
<p>S::count(string $str, string $substring [, boolean $caseSensitive = true [, string $encoding ]])</p> <p>S::countSubstr(string $str, string $substring [, boolean $caseSensitive = true [, string $encoding ]])</p>
<p>Returns the number of occurrences of $substring in the given string. <p>Returns the number of occurrences of $substring in the given string.
By default, the comparison is case-sensitive, but can be made insensitive By default, the comparison is case-sensitive, but can be made insensitive
by setting $caseSensitive to false.</p> by setting $caseSensitive to false.</p>
<div class="highlight highlight-php"><pre><span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'Ο συγγραφέας είπε'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">)</span><span class="o">-&gt;</span><span class="na">count</span><span class="p">(</span><span class="s1">'α'</span><span class="p">);</span> <div class="highlight highlight-php"><pre><span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'Ο συγγραφέας είπε'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">)</span><span class="o">-&gt;</span><span class="na">countSubstr</span><span class="p">(</span><span class="s1">'α'</span><span class="p">);</span>
<span class="nx">S</span><span class="o">::</span><span class="na">count</span><span class="p">(</span><span class="s1">'Ο συγγραφέας είπε'</span><span class="p">,</span> <span class="s1">'α'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">);</span> <span class="c1">// 2</span> <span class="nx">S</span><span class="o">::</span><span class="na">countSubstr</span><span class="p">(</span><span class="s1">'Ο συγγραφέας είπε'</span><span class="p">,</span> <span class="s1">'α'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">);</span> <span class="c1">// 2</span>
</pre></div> </pre></div>
<h4> <h4>
<a name="create" class="anchor" href="#create"><span class="octicon octicon-link"></span></a>create</h4> <a name="create" class="anchor" href="#create"><span class="octicon octicon-link"></span></a>create</h4>
<p>S::create(string $str, [, $encoding ])</p> <p>S::create(mixed $str, [, $encoding ])</p>
<p>Creates a Stringy object and assigns both str and encoding properties <p>Creates a Stringy object and assigns both str and encoding properties
the supplied values. If $encoding is not specified, it defaults to the supplied values. $str is cast to a string prior to assignment, and if
mb_internal_encoding(). It then returns the initialized object.</p> $encoding is not specified, it defaults to mb_internal_encoding(). It
then returns the initialized object. Throws an InvalidArgumentException
if the first argument is an array or object without a __toString method.</p>
<div class="highlight highlight-php"><pre><span class="nv">$stringy</span> <span class="o">=</span> <span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'fòô bàř'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">);</span> <span class="c1">// 'fòô bàř'</span> <div class="highlight highlight-php"><pre><span class="nv">$stringy</span> <span class="o">=</span> <span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'fòô bàř'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">);</span> <span class="c1">// 'fòô bàř'</span>
</pre></div> </pre></div>
@@ -537,7 +596,7 @@ string used for padding is a space, and the default type (one of 'left',
'right', 'both') is 'right'. Throws an InvalidArgumentException if 'right', 'both') is 'right'. Throws an InvalidArgumentException if
$padType isn't one of those 3 values.</p> $padType isn't one of those 3 values.</p>
<div class="highlight highlight-php"><pre><span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'fòô bàř'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">)</span><span class="o">-&gt;</span><span class="na">pad</span><span class="p">(</span> <span class="mi">10</span><span class="p">,</span> <span class="s1">'¬ø'</span><span class="p">,</span> <span class="s1">'left'</span><span class="p">,);</span> <div class="highlight highlight-php"><pre><span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'fòô bàř'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">)</span><span class="o">-&gt;</span><span class="na">pad</span><span class="p">(</span> <span class="mi">10</span><span class="p">,</span> <span class="s1">'¬ø'</span><span class="p">,</span> <span class="s1">'left'</span><span class="p">);</span>
<span class="nx">S</span><span class="o">::</span><span class="na">pad</span><span class="p">(</span><span class="s1">'fòô bàř'</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="s1">'¬ø'</span><span class="p">,</span> <span class="s1">'left'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">);</span> <span class="c1">// '¬ø¬fòô bàř'</span> <span class="nx">S</span><span class="o">::</span><span class="na">pad</span><span class="p">(</span><span class="s1">'fòô bàř'</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="s1">'¬ø'</span><span class="p">,</span> <span class="s1">'left'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">);</span> <span class="c1">// '¬ø¬fòô bàř'</span>
</pre></div> </pre></div>
@@ -606,7 +665,7 @@ in the bundled version of Oniguruma in PHP 5.3.</p>
<p>S::removeLeft(string $str, string $substring [, string $encoding ])</p> <p>S::removeLeft(string $str, string $substring [, string $encoding ])</p>
<p>Returns a new string with the prefix $substring removed, if it was present.</p> <p>Returns a new string with the prefix $substring removed, if present.</p>
<div class="highlight highlight-php"><pre><span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'fòô bàř'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">)</span><span class="o">-&gt;</span><span class="na">removeLeft</span><span class="p">(</span><span class="s1">'fòô '</span><span class="p">);</span> <div class="highlight highlight-php"><pre><span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'fòô bàř'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">)</span><span class="o">-&gt;</span><span class="na">removeLeft</span><span class="p">(</span><span class="s1">'fòô '</span><span class="p">);</span>
<span class="nx">S</span><span class="o">::</span><span class="na">removeLeft</span><span class="p">(</span><span class="s1">'fòô bàř'</span><span class="p">,</span> <span class="s1">'fòô '</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">);</span> <span class="c1">// 'bàř'</span> <span class="nx">S</span><span class="o">::</span><span class="na">removeLeft</span><span class="p">(</span><span class="s1">'fòô bàř'</span><span class="p">,</span> <span class="s1">'fòô '</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">);</span> <span class="c1">// 'bàř'</span>
@@ -619,7 +678,7 @@ in the bundled version of Oniguruma in PHP 5.3.</p>
<p>S::removeRight(string $str, string $substring [, string $encoding ])</p> <p>S::removeRight(string $str, string $substring [, string $encoding ])</p>
<p>Returns a new string with the suffix $substring removed, if it was present.</p> <p>Returns a new string with the suffix $substring removed, if present.</p>
<div class="highlight highlight-php"><pre><span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'fòô bàř'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">)</span><span class="o">-&gt;</span><span class="na">removeRight</span><span class="p">(</span><span class="s1">' bàř'</span><span class="p">);</span> <div class="highlight highlight-php"><pre><span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'fòô bàř'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">)</span><span class="o">-&gt;</span><span class="na">removeRight</span><span class="p">(</span><span class="s1">' bàř'</span><span class="p">);</span>
<span class="nx">S</span><span class="o">::</span><span class="na">removeRight</span><span class="p">(</span><span class="s1">'fòô bàř'</span><span class="p">,</span> <span class="s1">' bàř'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">);</span> <span class="c1">// 'fòô'</span> <span class="nx">S</span><span class="o">::</span><span class="na">removeRight</span><span class="p">(</span><span class="s1">'fòô bàř'</span><span class="p">,</span> <span class="s1">' bàř'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">);</span> <span class="c1">// 'fòô'</span>
@@ -659,8 +718,8 @@ in the bundled version of Oniguruma in PHP 5.3.</p>
<p>S::safeTruncate(string $str, int $length, [, string $substring = '' [, string $encoding ]])</p> <p>S::safeTruncate(string $str, int $length, [, string $substring = '' [, string $encoding ]])</p>
<p>Truncates the string to a given length, while ensuring that it does not <p>Truncates the string to a given length, while ensuring that it does not
chop words. If $substring is provided, and truncating occurs, the string split words. If $substring is provided, and truncating occurs, the
is further truncated so that the substring may be appended without string is further truncated so that the substring may be appended without
exceeding the desired length.</p> exceeding the desired length.</p>
<div class="highlight highlight-php"><pre><span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'What are your plans today?'</span><span class="p">)</span><span class="o">-&gt;</span><span class="na">safeTruncate</span><span class="p">(</span><span class="mi">22</span><span class="p">,</span> <span class="s1">'...'</span><span class="p">);</span> <div class="highlight highlight-php"><pre><span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'What are your plans today?'</span><span class="p">)</span><span class="o">-&gt;</span><span class="na">safeTruncate</span><span class="p">(</span><span class="mi">22</span><span class="p">,</span> <span class="s1">'...'</span><span class="p">);</span>
@@ -674,7 +733,8 @@ exceeding the desired length.</p>
<p>S::shuffle(string $str [, string $encoding ])</p> <p>S::shuffle(string $str [, string $encoding ])</p>
<p>A multibyte str_shuffle() function. It returns a string with its characters in random order.</p> <p>A multibyte str_shuffle() function. It returns a string with its characters in
random order.</p>
<div class="highlight highlight-php"><pre><span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'fòô bàř'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">)</span><span class="o">-&gt;</span><span class="na">shuffle</span><span class="p">();</span> <div class="highlight highlight-php"><pre><span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'fòô bàř'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">)</span><span class="o">-&gt;</span><span class="na">shuffle</span><span class="p">();</span>
<span class="nx">S</span><span class="o">::</span><span class="na">shuffle</span><span class="p">(</span><span class="s1">'fòô bàř'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">);</span> <span class="c1">// 'àôřb òf'</span> <span class="nx">S</span><span class="o">::</span><span class="na">shuffle</span><span class="p">(</span><span class="s1">'fòô bàř'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">);</span> <span class="c1">// 'àôřb òf'</span>
@@ -688,10 +748,10 @@ exceeding the desired length.</p>
<p>S::slugify(string $str [, string $replacement = '-' ])</p> <p>S::slugify(string $str [, string $replacement = '-' ])</p>
<p>Converts the string into an URL slug. This includes replacing non-ASCII <p>Converts the string into an URL slug. This includes replacing non-ASCII
characters with their closest ASCII equivalents, removing non-alphanumeric characters with their closest ASCII equivalents, removing remaining
and non-ASCII characters, and replacing whitespace with $replacement. non-ASCII and non-alphanumeric characters, and replacing whitespace with
The replacement defaults to a single dash, and the string is also $replacement. The replacement defaults to a single dash, and the string
converted to lowercase.</p> is also converted to lowercase.</p>
<div class="highlight highlight-php"><pre><span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'Using strings like fòô bàř'</span><span class="p">)</span><span class="o">-&gt;</span><span class="na">slugify</span><span class="p">();</span> <div class="highlight highlight-php"><pre><span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'Using strings like fòô bàř'</span><span class="p">)</span><span class="o">-&gt;</span><span class="na">slugify</span><span class="p">();</span>
<span class="nx">S</span><span class="o">::</span><span class="na">slugify</span><span class="p">(</span><span class="s1">'Using strings like fòô bàř'</span><span class="p">);</span> <span class="c1">// 'using-strings-like-foo-bar'</span> <span class="nx">S</span><span class="o">::</span><span class="na">slugify</span><span class="p">(</span><span class="s1">'Using strings like fòô bàř'</span><span class="p">);</span> <span class="c1">// 'using-strings-like-foo-bar'</span>
@@ -775,9 +835,8 @@ Windows-1252 (commonly used in Word documents) replaced by their ASCII equivalen
<p>S::titleize(string $str [, array $ignore [, string $encoding ]])</p> <p>S::titleize(string $str [, array $ignore [, string $encoding ]])</p>
<p>Returns a trimmed string with the first letter of each word capitalized. <p>Returns a trimmed string with the first letter of each word capitalized.
Ignores the case of other letters, allowing for the use of acronyms. Ignores the case of other letters, preserving any acronyms. Also accepts
Also accepts an array, $ignore, allowing you to list words not to be an array, $ignore, allowing you to list words not to be capitalized.</p>
capitalized.</p>
<div class="highlight highlight-php"><pre><span class="nv">$ignore</span> <span class="o">=</span> <span class="k">array</span><span class="p">(</span><span class="s1">'at'</span><span class="p">,</span> <span class="s1">'by'</span><span class="p">,</span> <span class="s1">'for'</span><span class="p">,</span> <span class="s1">'in'</span><span class="p">,</span> <span class="s1">'of'</span><span class="p">,</span> <span class="s1">'on'</span><span class="p">,</span> <span class="s1">'out'</span><span class="p">,</span> <span class="s1">'to'</span><span class="p">,</span> <span class="s1">'the'</span><span class="p">);</span> <div class="highlight highlight-php"><pre><span class="nv">$ignore</span> <span class="o">=</span> <span class="k">array</span><span class="p">(</span><span class="s1">'at'</span><span class="p">,</span> <span class="s1">'by'</span><span class="p">,</span> <span class="s1">'for'</span><span class="p">,</span> <span class="s1">'in'</span><span class="p">,</span> <span class="s1">'of'</span><span class="p">,</span> <span class="s1">'on'</span><span class="p">,</span> <span class="s1">'out'</span><span class="p">,</span> <span class="s1">'to'</span><span class="p">,</span> <span class="s1">'the'</span><span class="p">);</span>
<span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'i like to watch DVDs at home'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">)</span><span class="o">-&gt;</span><span class="na">titleize</span><span class="p">(</span><span class="nv">$ignore</span><span class="p">);</span> <span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'i like to watch DVDs at home'</span><span class="p">,</span> <span class="s1">'UTF-8'</span><span class="p">)</span><span class="o">-&gt;</span><span class="na">titleize</span><span class="p">(</span><span class="nv">$ignore</span><span class="p">);</span>
@@ -880,8 +939,8 @@ mb_strtoupper().</p>
truncating occurs, the string is further truncated so that the substring truncating occurs, the string is further truncated so that the substring
may be appended without exceeding the desired length.</p> may be appended without exceeding the desired length.</p>
<div class="highlight highlight-php"><pre><span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'What are your plans today?'</span><span class="p">)</span><span class="o">-&gt;</span><span class="na">safeTruncate</span><span class="p">(</span><span class="mi">19</span><span class="p">,</span> <span class="s1">'...'</span><span class="p">);</span> <div class="highlight highlight-php"><pre><span class="nx">S</span><span class="o">::</span><span class="na">create</span><span class="p">(</span><span class="s1">'What are your plans today?'</span><span class="p">)</span><span class="o">-&gt;</span><span class="na">truncate</span><span class="p">(</span><span class="mi">19</span><span class="p">,</span> <span class="s1">'...'</span><span class="p">);</span>
<span class="nx">S</span><span class="o">::</span><span class="na">safeTruncate</span><span class="p">(</span><span class="s1">'What are your plans today?'</span><span class="p">,</span> <span class="mi">19</span><span class="p">,</span> <span class="s1">'...'</span><span class="p">);</span> <span class="c1">// 'What are your pl...'</span> <span class="nx">S</span><span class="o">::</span><span class="na">truncate</span><span class="p">(</span><span class="s1">'What are your plans today?'</span><span class="p">,</span> <span class="mi">19</span><span class="p">,</span> <span class="s1">'...'</span><span class="p">);</span> <span class="c1">// 'What are your pl...'</span>
</pre></div> </pre></div>
<h4> <h4>

File diff suppressed because one or more lines are too long