![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
没有合适的资源?快使用搜索试试~ 我知道了~
【源码编号:MF00762】ThinkPhp6.0+uniapp新零售商城源码
共2000个文件
js:779个
vue:606个
css:221个
需积分: 5 0 下载量 121 浏览量
2024-04-16
21:53:42
上传
评论
收藏 103.53MB RAR 举报
温馨提示
ThinkPhp6.0+uniapp新零售商城源码
资源推荐
资源详情
资源评论
收起资源包目录
【源码编号:MF00762】ThinkPhp6.0+uniapp新零售商城源码 (2000个子文件)
app.581a31d6.css 526KB
chunk-vendors.0b15f099.css 463KB
chunk-0efbceae.cb59c962.css 105KB
chunk-6ca23fd9.68e6cffb.css 92KB
guildford.css 71KB
chunk-f3cb3ab8.289999bd.css 71KB
emojione.min.css 71KB
emojione.min.css 71KB
facebook.min.css 71KB
facebook.min.css 71KB
messenger.min.css 71KB
messenger.min.css 71KB
twitter.min.css 71KB
twitter.min.css 71KB
google.min.css 71KB
chunk-5b7caf0b.fa095460.css 71KB
animate.min.css 57KB
apple.min.css 46KB
apple.min.css 46KB
ueditor.css 43KB
ueditor.css 43KB
iconfontYI.css 41KB
ueditor.min.css 34KB
ueditor.min.css 34KB
iconfont.css 34KB
base.css 30KB
chunk-5ba58d59.f269a78b.css 26KB
iconfont.css 24KB
chunk-2e53484a.261c5a22.css 22KB
video-js.css 21KB
video-js.css 21KB
image.css 18KB
image.css 18KB
video.css 15KB
video.css 15KB
attachment.css 14KB
attachment.css 14KB
chunk-98eb20b2.ec625add.css 14KB
chunk-edd2578a.bd716488.css 14KB
chunk-f5f25166.6202bb49.css 13KB
chunk-316c76ec.defe51bc.css 13KB
iconfont.css 12KB
chunk-31352cf3.90d4be1f.css 12KB
style.css 11KB
video-js.min.css 11KB
video-js.min.css 11KB
iconfont.css 11KB
chunk-5ca46ee1.6cbad704.css 8KB
demo.css 8KB
chunk-0ec40cd8.031b2761.css 8KB
chunk-65ddba3d.6b18acd6.css 7KB
shCoreDefault.css 7KB
shCoreDefault.css 7KB
chunk-71cd5828.b0409461.css 7KB
chunk-c9c643e2.88b5b54d.css 6KB
chunk-5e1df8eb.76124f3d.css 6KB
google.min.css 5KB
tuoluojiang.css 5KB
grids_lottery.css 5KB
chunk-47c452fe.be941872.css 5KB
chunk-49e8a4a4.c13b747f.css 5KB
chunk-ef556670.32ace1b5.css 5KB
chunk-435c9e5b.9a0593a2.css 4KB
chunk-20053737.f16a080d.css 4KB
chunk-54f44b52.527fc93a.css 4KB
iconfont.css 4KB
chunk-bc22eb56.58ba8f69.css 4KB
chunk-50e7c6e2.cec92bf7.css 4KB
scrawl.css 4KB
scrawl.css 4KB
chunk-c9223984.f56b1863.css 3KB
chunk-6f4b24c2.69a0093c.css 3KB
chunk-25d6e8dd.cd9c8514.css 3KB
chunk-36609a22.c7eeae10.css 3KB
chunk-2056db90.6a4fce01.css 3KB
chunk-7d220ac0.bd848b76.css 3KB
chunk-de5c9484.fb9470f3.css 3KB
chunk-45109269.6cf05b7e.css 3KB
chunk-5a6dfa1f.cd30313c.css 3KB
chunk-37b50226.311815b8.css 3KB
codemirror.css 3KB
codemirror.css 3KB
chunk-38a63415.92daa958.css 3KB
chunk-a5eab106.c8d5f71a.css 3KB
charts.css 3KB
charts.css 3KB
chunk-2eae4c84.84f91323.css 3KB
chunk-3aefc867.6d3da039.css 3KB
chunk-217e8f24.60b7c0f2.css 2KB
chunk-2e965ff9.5b7bf1d9.css 2KB
background.css 2KB
background.css 2KB
chunk-08676f4a.7ec0f7c9.css 2KB
chunk-5a26e5ae.ffb4875d.css 2KB
chunk-bc14e734.a85fb6af.css 2KB
chunk-054c8ca4.392fe364.css 2KB
chunk-3a0a5843.ab0e86b6.css 2KB
chunk-0a9993a2.632792f5.css 2KB
jigsaw.css 2KB
chunk-1324c87b.63d530e7.css 2KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
HongYingClub
- 粉丝: 1523
- 资源: 226
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功