![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
没有合适的资源?快使用搜索试试~ 我知道了~
赏金赛源码熊猫电竞赏金电竞系统源码 可开王者荣耀、和平精英比赛 支持1v1、单排、双排组、战队排等多种比赛模式
共2000个文件
png:753个
js:505个
html:197个
需积分: 5 1 下载量 10 浏览量
2024-01-23
23:26:39
上传
评论
收藏 269.79MB ZIP 举报
温馨提示
赏金赛源码熊猫电竞赏金电竞系统源码 可开王者荣耀、和平精英比赛 支持1v1、单排、双排组、战队排等多种比赛模式熊猫电竞赏金电竞系统源码 APP+H5双端 附搭建教程 支持运营级搭建 可搭建!运营级!首次公开! 赏金赛源码,用户通过平台打比赛,赢了获得奖金奖励, 金币赛、赏金赛、vip赛等种赛事 可开王者荣耀、和平精英比赛 支持1v1、单排、双排组、战队排等多种比赛模式 支持QQ区、微信区 游戏玩的好的玩家可以通过打比赛赚钱 平台可以通过比赛抽水 、会员充值、手续费盈利 设备需求:服务器+域名运营级源码 ,可二开! 支付配置:对接支付宝。 位置:/application/config.php 第304行,修改为自己的支付宝配置。
资源推荐
资源详情
资源评论
收起资源包目录
赏金赛源码熊猫电竞赏金电竞系统源码 可开王者荣耀、和平精英比赛 支持1v1、单排、双排组、战队排等多种比赛模式 (2000个子文件)
._image-tools 212B
__UNI__9086CB1_20210322215454.apk 37.43MB
__UNI__9086CB1_cm.apk 21.36MB
apkurl 81B
certdata 128B
bootstrap.min.css 132KB
bootstrap.min.css 132KB
bootstrap.min.css 114KB
main.css 105KB
main.css 105KB
index.f37b29dd.css 93KB
index.e18c94d4.css 93KB
index.1e555237.css 83KB
animate.min.css 77KB
animate.min.css 77KB
animate.css 73KB
view.css 55KB
view.css 55KB
view.css 55KB
ueditor.css 33KB
ueditor.min.css 33KB
datepicker.css 32KB
datepicker.css 32KB
font-awesome.min.css 26KB
font-awesome.min.css 26KB
theme.css 20KB
theme.css 20KB
main.css 19KB
swiper.min.css 19KB
style.css 19KB
japanese.css 16KB
korean.css 16KB
english.css 15KB
video-js.css 15KB
video-js.css 15KB
chinese.css 15KB
image.css 13KB
jquery.confirm.css 13KB
jquery.confirm.css 13KB
dropzone.css 12KB
dropzone.css 12KB
video.css 11KB
default-skin.css 11KB
attachment.css 11KB
video-js.css 11KB
video-js.min.css 11KB
zTreeStyle.css 9KB
fullcalendar.css 9KB
fullcalendar.css 9KB
laydate.css 8KB
laydate.css 8KB
shCoreDefault.css 7KB
bootstrap-select.css 6KB
bootstrap-select.css 6KB
toastr.css 6KB
toastr.css 6KB
palette.1.css 5KB
palette.1.css 5KB
layer.css 5KB
medium-editor.css 5KB
medium-editor.css 5KB
audioplayer.css 4KB
audioplayer.css 4KB
photoswipe.css 4KB
jquery.bxslider.css 4KB
jquery.bxslider.css 4KB
slider.css 3KB
slider.css 3KB
theme.css 3KB
theme.css 3KB
scrawl.css 3KB
codemirror.css 2KB
theme.css 2KB
theme.css 2KB
iconfont.css 2KB
iconfont.css 2KB
iconfont.css 2KB
iconfont.css 2KB
iconfont.css 2KB
iconfont.css 2KB
iconfont.css 2KB
background.css 2KB
charts.css 2KB
flexible.debug.css 2KB
jquery.timepicker.css 2KB
jquery.timepicker.css 2KB
iconfont.css 2KB
music.css 1KB
panel.css 1KB
panel.css 1KB
emotion.css 1KB
dialogbase.css 1KB
flexible.css 1014B
template.css 932B
edittable.css 854B
jquery-jvectormap-1.2.2.css 705B
jquery-jvectormap-1.2.2.css 705B
webuploader.css 515B
style.css 514B
webuploader.css 426B
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
互助小修项目总监任友
- 粉丝: 58
- 资源: 22
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功