![Stringy](http://danielstjules.com/github/stringy-logo.png)
A PHP string manipulation library with multibyte support. Compatible with PHP
5.4+, PHP 7+, and HHVM.
``` php
s('string')->toTitleCase()->ensureRight('y') == 'Stringy'
```
Refer to the [1.x branch](https://github.com/danielstjules/Stringy/tree/1.x) or
[2.x branch](https://github.com/danielstjules/Stringy/tree/2.x) for older
documentation.
[![Build Status](https://api.travis-ci.org/danielstjules/Stringy.svg?branch=master)](https://travis-ci.org/danielstjules/Stringy)
[![Total Downloads](https://poser.pugx.org/danielstjules/stringy/downloads)](https://packagist.org/packages/danielstjules/stringy)
[![License](https://poser.pugx.org/danielstjules/stringy/license)](https://packagist.org/packages/danielstjules/stringy)
* [Why?](#why)
* [Installation](#installation)
* [OO and Chaining](#oo-and-chaining)
* [Implemented Interfaces](#implemented-interfaces)
* [PHP 5.6 Creation](#php-56-creation)
* [StaticStringy](#staticstringy)
* [Class methods](#class-methods)
* [create](#createmixed-str--encoding-)
* [Instance methods](#instance-methods)
<table>
<tr>
<td><a href="#appendstring-string">append</a></td>
<td><a href="#atint-index">at</a></td>
<td><a href="#betweenstring-start-string-end--int-offset">between</a></td>
<td><a href="#camelize">camelize</a></td>
</tr>
<tr>
<td><a href="#chars">chars</a></td>
<td><a href="#collapsewhitespace">collapseWhitespace</a></td>
<td><a href="#containsstring-needle--boolean-casesensitive--true-">contains</a></td>
<td><a href="#containsallarray-needles--boolean-casesensitive--true-">containsAll</a></td>
</tr>
<tr>
<td><a href="#containsanyarray-needles--boolean-casesensitive--true-">containsAny</a></td>
<td><a href="#countsubstrstring-substring--boolean-casesensitive--true-">countSubstr</a></td>
<td><a href="#dasherize">dasherize</a></td>
<td><a href="#delimitint-delimiter">delimit</a></td>
</tr>
<tr>
<td><a href="#endswithstring-substring--boolean-casesensitive--true-">endsWith</a></td>
<td><a href="#endswithanystring-substrings--boolean-casesensitive--true-">endsWithAny</a></td>
<td><a href="#ensureleftstring-substring">ensureLeft</a></td>
<td><a href="#ensurerightstring-substring">ensureRight</a></td>
</tr>
<tr>
<td><a href="#firstint-n">first</a></td>
<td><a href="#getencoding">getEncoding</a></td>
<td><a href="#haslowercase">hasLowerCase</a></td>
<td><a href="#hasuppercase">hasUpperCase</a></td>
</tr>
<tr>
<td><a href="#htmldecode">htmlDecode</a></td>
<td><a href="#htmlencode">htmlEncode</a></td>
<td><a href="#humanize">humanize</a></td>
<td><a href="#indexofstring-needle--offset--0-">indexOf</a></td>
</tr>
<tr>
<td><a href="#indexoflaststring-needle--offset--0-">indexOfLast</a></td>
<td><a href="#insertint-index-string-substring">insert</a></td>
<td><a href="#isalpha">isAlpha</a></td>
<td><a href="#isalphanumeric">isAlphanumeric</a></td>
</tr>
<tr>
<td><a href="#isbase64">isBase64</a></td>
<td><a href="#isblank">isBlank</a></td>
<td><a href="#ishexadecimal">isHexadecimal</a></td>
<td><a href="#isjson">isJson</a></td>
</tr>
<tr>
<td><a href="#islowercase">isLowerCase</a></td>
<td><a href="#isserialized">isSerialized</a></td>
<td><a href="#isuppercase">isUpperCase</a></td>
<td><a href="#lastint-n">last</a></td>
</tr>
<tr>
<td><a href="#length">length</a></td>
<td><a href="#lines">lines</a></td>
<td><a href="#longestcommonprefixstring-otherstr">longestCommonPrefix</a></td>
<td><a href="#longestcommonsuffixstring-otherstr">longestCommonSuffix</a></td>
</tr>
<tr>
<td><a href="#longestcommonsubstringstring-otherstr">longestCommonSubstring</a></td>
<td><a href="#lowercasefirst">lowerCaseFirst</a></td>
<td><a href="#padint-length--string-padstr-----string-padtype--right-">pad</a></td>
<td><a href="#padbothint-length--string-padstr----">padBoth</a></td>
</tr>
<tr>
<td><a href="#padleftint-length--string-padstr----">padLeft</a></td>
<td><a href="#padrightint-length--string-padstr----">padRight</a></td>
<td><a href="#prependstring-string">prepend</a></td>
<td><a href="#regexreplacestring-pattern-string-replacement--string-options--msr">regexReplace</a></td>
</tr>
<tr>
<td><a href="#removeleftstring-substring">removeLeft</a></td>
<td><a href="#removerightstring-substring">removeRight</a></td>
<td><a href="#repeatint-multiplier">repeat</a></td>
<td><a href="#replacestring-search-string-replacement">replace</a></td>
</tr>
<tr>
<td><a href="#reverse">reverse</a></td>
<td><a href="#safetruncateint-length--string-substring---">safeTruncate</a></td>
<td><a href="#shuffle">shuffle</a></td>
<td><a href="#slugify-string-replacement-----string-language--en">slugify</a></td>
</tr>
<tr>
<td><a href="#sliceint-start--int-end-">slice</a></td>
<td><a href="#splitstring-pattern--int-limit-">split</a></td>
<td><a href="#startswithstring-substring--boolean-casesensitive--true-">startsWith</a></td>
<td><a href="#startswithanystring-substrings--boolean-casesensitive--true-">startsWithAny</a></td>
</tr>
<tr>
<td><a href="#stripwhitespace">stripWhitespace</a></td>
<td><a href="#substrint-start--int-length-">substr</a></td>
<td><a href="#surroundstring-substring">surround</a></td>
<td><a href="#swapcase">swapCase</a></td>
</tr>
<tr>
<td><a href="#tidy">tidy</a></td>
<td><a href="#titleize-array-ignore">titleize</a></td>
<td><a href="#toascii-string-language--en--bool-removeunsupported--true-">toAscii</a></td>
<td><a href="#toboolean">toBoolean</a></td>
</tr>
<tr>
<td><a href="#tolowercase">toLowerCase</a></td>
<td><a href="#tospaces-tablength--4-">toSpaces</a></td>
<td><a href="#totabs-tablength--4-">toTabs</a></td>
<td><a href="#totitlecase">toTitleCase</a></td>
</tr>
<tr>
<td><a href="#touppercase">toUpperCase</a></td>
<td><a href="#trim-string-chars">trim</a></td>
<td><a href="#trimleft-string-chars">trimLeft</a></td>
<td><a href="#trimright-string-chars">trimRight</a></td>
</tr>
<tr>
<td><a href="#truncateint-length--string-substring---">truncate</a></td>
<td><a href="#underscored">underscored</a></td>
<td><a href="#uppercamelize">upperCamelize</a></td>
<td><a href="#uppercasefirst">upperCaseFirst</a></td>
</tr>
</table>
* [Extensions](#extensions)
* [Tests](#tests)
* [License](#license)
## Why?
In part due to a lack of multibyte support (including UTF-8) across many of
PHP's standard string functions. But also to offer an OO wrapper around the
`mbstring` module's multibyte-compatible functions. Stringy handles some quirks,
provides additional functionality, and hopefully makes strings a little easier
to work with!
```php
// Standard library
strtoupper('fòôbàř'); // 'FòôBàř'
strlen('fòôbàř'); // 10
// mbstring
mb_strtoupper('fòôbàř'); // 'FÒÔBÀŘ'
mb_strlen('fòôbàř'); // '6'
// Stringy
s('fòôbàř')->toUpperCase(); // 'FÒÔBÀŘ'
s('fòôbàř')->length(); // '6'
```
## Installation
If you're using Composer to manage dependencies, you can include the following
in your composer.json file:
```json
"require": {
"danielstjules/stringy": "~3.1.0"
}
```
Then, after running `composer update` or `php composer.phar update`, you can
load the class using Composer's autoloading:
```php
require 'vendor/autoload.php';
```
Otherwise, you can
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
少儿编程源码环境推荐:php5.5+mysql 5.6 基于scratch3.0的少儿编程在线模式,开启在线教学获客方式,体验有温度、有人情味的系统,解决编程培训机构线上业务的需求。基于scratch3.0版本开发,平台采用THINKPHP5、VUE.js相结合,性价比高,从全终端、全能型网站,尽在掌握。作业作品实时批改推送,手机端PC端同步编程,引流、互动一步到位。方便管理层,加快成交进度
资源推荐
资源详情
资源评论
收起资源包目录
少儿编程培训管理系统源码 (2000个子文件)
8TCgTR-3gxgWuZzpYwhkIfiakhxtkxcepfmFgiS4I8U 87B
_PlzUXvODdzpf3SEco0xKhblMBPx8ow_bPDw13dy8d0 87B
chunk-vendors.54320465.css 462KB
bootstrap.min.css 123KB
font-awesome-ie7.min.css 59KB
font-awesome-ie7.min.css 46KB
theme-colors-a2f637eb.css 28KB
font-awesome.min.css 27KB
font-awesome.min.css 22KB
slippry.css 11KB
style.css 11KB
workslist.css 7KB
chunk-4afd6f78.5eed93c8.css 5KB
chunk-d75a8b82.a457c644.css 5KB
chunk-09447b94.3da9585b.css 4KB
chunk-55761f14.f3449a08.css 4KB
chunk-7e11de4b.aa7be612.css 4KB
chunk-a0ecd538.3456fe67.css 4KB
chunk-91b6757a.b11feb16.css 4KB
chunk-d56f74f6.bf076a78.css 3KB
chunk-1ab05224.9fe5e737.css 3KB
chunk-42d24aa4.156c3da4.css 2KB
chunk-6a7b9864.0c229e3f.css 2KB
chunk-a79ddd3e.6afa001f.css 1KB
app.3a601fe1.css 1KB
chunk-1cdc8c4f.44ba84e4.css 1KB
chunk-3609dd08.696bf8fa.css 297B
chunk-c1cc87bc.022d3cfa.css 184B
彩纸屋操作手册.doc 881KB
本地安装环境部署说明.docx 426KB
fontawesome-webfont.eot 67KB
fontawesome-webfont.eot 55KB
glyphicons-halflings-regular.eot 20KB
sy-loader.gif 2KB
.gitignore 14B
nginx.htaccess 762B
.htaccess 13B
.htaccess 0B
404.html 36KB
404.html 36KB
404.html 36KB
404.html 36KB
404.html 36KB
index.html 19KB
更多实用资源.html 6KB
更多实用资源.html 6KB
index.html 4KB
logo.ico 34KB
favicon.ico 1KB
favicon.ico 1KB
logo.ico 1KB
banner.jpg 3.97MB
1.jpg 417KB
2.jpg 406KB
3.jpg 305KB
banner_3.jpg 233KB
banner_2.jpg 182KB
welcome_python_editor.jpg 165KB
banner_1.jpg 163KB
5.jpg 110KB
avatar2.jpg 84KB
e04e9c4a78bc6b6399bc08bb772fe8ba.jpg 68KB
6becfcecc82b0fa35d43b3f5802e0597.jpg 62KB
3c5ef0fddb4996eaa4da5af4341add3b.jpg 59KB
9.jpg 59KB
1.jpg 54KB
1_1_13.jpg 47KB
6.jpg 41KB
3.jpg 36KB
1_1_17.jpg 33KB
1_1_20.jpg 28KB
7.jpg 28KB
2.jpg 25KB
4.jpg 21KB
10.jpg 19KB
8.jpg 19KB
1_1_03.jpg 18KB
1_1_05.jpg 17KB
1_1_07.jpg 15KB
1_1_23.jpg 2KB
lib.min.js 21.15MB
chunk-vendors.4d60d04d.js 2.1MB
jquery-1.10.2.min.js 91KB
extension-worker.js 54KB
bootstrap.min.js 36KB
chunk-09447b94.95126862.js 33KB
app.c88f5cf1.js 27KB
gui.js 14KB
chunk-55761f14.60c873ee.js 12KB
slippry.min.js 12KB
chunk-d75a8b82.92381c03.js 12KB
chunk-91b6757a.025398c4.js 10KB
chunk-7e11de4b.a431ecab.js 10KB
chunk-4afd6f78.cb8d647b.js 10KB
chunk-a0ecd538.f90cfab2.js 8KB
player.js 8KB
chunk-d56f74f6.3dba3563.js 6KB
28190621b15f83e5b943.worker.js 6KB
chunk-1ab05224.0df19e61.js 6KB
chunk-42d24aa4.7b1a87c4.js 5KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
源码头
- 粉丝: 258
- 资源: 504
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功