![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
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
流量掘金付费进群源码下载 (2000个子文件)
alipayRootCert.crt 5KB
alipayCertPublicKey_RSA2.crt 3KB
appCertPublicKey_2021002146679468.crt 2KB
chunk-vendors.1643377559513.css 211KB
chunk-vendors.1643253550275.css 211KB
chunk-vendors.1642845664192.css 211KB
chunk-vendors.1643380854909.css 211KB
chunk-vendors.1643158860665.css 211KB
chunk-vendors.1643199435567.css 211KB
chunk-vendors.1643278175966.css 211KB
chunk-vendors.1643271877318.css 211KB
chunk-vendors.1643382483346.css 211KB
chunk-vendors.1643274830668.css 211KB
chunk-vendors.1643203417391.css 211KB
chunk-vendors.1643174480784.css 211KB
chunk-vendors.1643288528230.css 211KB
chunk-vendors.1643370138989.css 211KB
chunk-vendors.1642846166429.css 211KB
chunk-vendors.1643370381670.css 211KB
chunk-vendors.1643380572700.css 211KB
chunk-vendors.1643374184147.css 211KB
chunk-vendors.1643378643701.css 211KB
chunk-vendors.1643175342579.css 211KB
bootstrap.min.css 157KB
chunk-vendors.df9c3cf1.css 100KB
app.1643380854909.css 97KB
app.1643380572700.css 97KB
app.1643382483346.css 97KB
app.1643374184147.css 97KB
app.1643377559513.css 97KB
app.1643370138989.css 97KB
app.1643370381670.css 97KB
app.1643378643701.css 97KB
app.1643288528230.css 94KB
app.1643278175966.css 94KB
app.1643253550275.css 94KB
app.1643271877318.css 94KB
app.1643274830668.css 94KB
app.1643203417391.css 90KB
app.1643199435567.css 90KB
app.1643158860665.css 90KB
app.1643175342579.css 90KB
app.1643174480784.css 90KB
app.1642846166429.css 80KB
app.1642845664192.css 80KB
ueditor.css 45KB
ueditor.min.css 34KB
video-js.css 22KB
image.css 19KB
video.css 15KB
attachment.css 15KB
exception.css 14KB
video-js.min.css 11KB
whoops.base.css 10KB
nv.d3.min.css 9KB
app.0119813d.css 7KB
shCoreDefault.css 7KB
default.css 5KB
prism.css 4KB
scrawl.css 4KB
htmlDescriptor.css 3KB
codemirror.css 3KB
charts.css 3KB
exception_full.css 3KB
background.css 2KB
style.css 2KB
emotion.css 2KB
dialogbase.css 2KB
music.css 2KB
chunk-3d3a2ae2.29803a35.css 1KB
chunk-41591bfc.ce0354af.css 1KB
edittable.css 1KB
chunk-2252af08.a0c77a61.css 1KB
chunk-1bd0ed9e.0eda7ec7.css 1KB
template.css 1KB
chunk-47199fb4.b89488b1.css 563B
chunk-356ab7de.27a45854.css 563B
chunk-a2e98ed8.f8997b17.css 560B
chunk-6f2cd691.6388cb4a.css 560B
chunk-7df5e15a.5cb4af84.css 560B
webuploader.css 543B
chunk-3c197a04.80218a36.css 530B
chunk-7e01b837.2d0bcd4c.css 530B
chunk-d3363074.140739cf.css 530B
chunk-1e2d5802.6bee978a.css 530B
chunk-63f3091a.37384e0c.css 530B
chunk-1ae207a6.28616634.css 530B
chunk-cfb37312.42aa0c04.css 515B
chunk-319f6272.9843f631.css 515B
chunk-3f4ee304.a18d588c.css 515B
chunk-3aa3ca29.03c47002.css 515B
chunk-c0d4519e.201355fe.css 515B
chunk-0acbeefc.bc09cb2f.css 470B
chunk-72e3fbf8.ac716c6a.css 470B
chunk-49519dfa.55065a90.css 470B
chunk-411c23c4.1e00e4a8.css 470B
chunk-0a75f2ae.f657074a.css 403B
chunk-73aaac92.18a56930.css 403B
chunk-f7dc1092.d569db2f.css 403B
chunk-b80edd2e.10d2edf2.css 403B
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
希希分享
- 粉丝: 5970
- 资源: 3545
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 设备树规范devicetree-specification-v0.4
- testab 某程、携程纯算,发布时可运行 ,js逆向
- jdk - 22.0.2 - windows graalVM
- jdk - 22.0.2 - windows
- 496785224932493FLUENT_VOF&熔化_2D (不含仿真数据).zip
- jdk - 22.0.2 - macos
- 在Windows系统中管理Mac磁盘的实用工具-在Windows系统中创建并使用Mac磁盘,读取Mac磁盘中的文件
- PFC理论基础与Matlab仿真模型学习笔记(1)-PFC电路概述
- 吞食天地2马腾传.nes
- 西部数据发布的一款西数硬盘检测修复工具-支持WD-L/WD-ROYL板,能进行硬盘软复位,可识别硬盘查看或清除-供大家学习参考
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功