![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
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
详细介绍: 一、基于scratch3.0的少儿编程在线模式,开启在线教学获客方式,体验有温度、有人情味的系统,解决编程培训机构线上业务的需求。 二、基于scratch3.0版本开发,平台采用THINKPHP5、VUE.js相结合 三、创新、丰富的商业系统。彩纸屋编程系统为培训企业提供一站式服务,从全终端建站到全网推广。给你最新体验!创新的商业模式,功能多,覆盖广。 四、性价比高,从全终端、全能型网站,尽在掌握。 五、家校沟通,作业作品实时批改推送,手机端PC端同步编程,引流、互动、营销一步到位。方便管理层,加快成交进度 六、应用范围广。专注于培训机构营销、平台之间的合作,支持网络多加公司,多人联网系统工作,更高效,更快捷。 七、权限分配和角色管理。灵活设置每一位成员的权限,角色不同分配管理层面。与各个角色无缝对接,获取海量用户,迅速进入盈利阶段。 环境推荐: PHP = 7.0 Msyql = 5.6 Redis Linux CentOS >= 8.5 WEB SERVER : Nginx
资源推荐
资源详情
资源评论
收起资源包目录
彩纸屋(彩纸屋少儿编程系统)学习版 V1.4.7 (2000个子文件)
8TCgTR-3gxgWuZzpYwhkIfiakhxtkxcepfmFgiS4I8U 87B
_PlzUXvODdzpf3SEco0xKhblMBPx8ow_bPDw13dy8d0 87B
jp.php.bat 127B
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
phpunit.xml.dist 1KB
phpunit.xml.dist 376B
Dockerfile 387B
fontawesome-webfont.eot 67KB
fontawesome-webfont.eot 55KB
glyphicons-halflings-regular.eot 20KB
hiddeninput.exe 9KB
sy-loader.gif 2KB
.gitignore 84B
.gitignore 68B
.gitignore 53B
.gitignore 37B
.gitignore 28B
.gitignore 21B
.gitignore 14B
.gitignore 14B
.gitignore 14B
nginx.htaccess 762B
.htaccess 13B
.htaccess 13B
.htaccess 0B
index.html 16KB
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
example.jpg 21KB
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
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
lcljkrx
- 粉丝: 2
- 资源: 18
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功