SPl库 - SPlString
优质
小牛编辑
137浏览
2023-12-01
字符串
EasySwoole 提供了一些常用,方便开发者的基础方法,示例:
$string = new \EasySwoole\Core\Component\Spl\SplString("Hello World");
切割字符串为指定长度的数组:
function split( int $length = 1 ) : SplArray
// 字符串为:Hello World
var_dump($string->split(2));
/* 结果:
array(5) {
[0] =>
string(2) "Ea"
[1] =>
string(2) "sy"
[2] =>
string(2) "Sw"
[3] =>
string(2) "oo"
[4] =>
string(2) "le"
}
*/
间隔符拆分:
function explode( string $delimiter ) : SplArray
// 字符串为:Easy,Swoole
var_dump($string->explode(','));
/* 结果:
array(2) {
[0] =>
string(4) "Easy"
[1] =>
string(6) "Swoole"
}
*/
截取:
function subString( int $start, int $length ) : SplString
返回 SplArray 的可以用链式操作,下面不再介绍。
如:$string->subString(0,8)->split(2);
// 字符串:EasySwoole
var_dump($string->subString(0,4)->__toString());
// 结果: Easy
$string->split(2);
/* 结果:
array(2) {
[0] =>
string(2) "Ea"
[1] =>
string(2) "sy"
}
*/
// 也可以 $string->subString(0,4)->split(2);
编码转换:
function encodingConvert( string $desEncoding, $detectList
= [
'UTF-8',
'ASCII',
'GBK',
'GB2312',
'LATIN1',
'BIG5',
"UCS-2",
] ) : SplString
UTF8转换便捷方法:
function utf8() : SplString
Unicode转成UTF8:
function unicodeToUtf8() : SplString
转成Unicode:
function toUnicode() : SplString
对比:
function compare( string $str, int $ignoreCase = 0 ) : int
// 字符串:EasySwoole
var_dump($string->compare('EasySwool'));
// 结果:1
移除字符串左边的字符:
function lTrim( string $charList = " \t\n\r\0\x0B" ) : SplString
移除字符串右边的字符:
function rTrim( string $charList = " \t\n\r\0\x0B" ) : SplString
移除字符串两侧的字符:
function trim( string $charList = " \t\n\r\0\x0B" ) : SplString
填充:
function pad( int $length, string $padString = null, int $pad_type = STR_PAD_RIGHT ) : SplString
// 字符串:EasySwoole
var_dump($string->pad(20,'.')->__toString());
// 结果:EasySwoole..........
重复:
function repeat( int $times ) : SplString
// 字符串 EasySwoole
var_dump($string->repeat(2)->__toString());
// 结果:EasySwooleEasySwoole
字符串长度:
function length() : int
// 字符串 EasySwoole
var_dump($string->length());
// 结果:10
全转成大写:
function upper() : SplString
// 字符串 EasySwoole
var_dump($string->upper()->__toString());
// 结果:EASYSWOOLE
全转成小写:
function lower() : SplString
// 字符串 EasySwoole
var_dump($string->lower()->__toString());
// 结果:easyswoole
剥去字符串中的 HTML 标签:
function stripTags( string $allowable_tags = null ) : SplString
// 字符串 <html>EasySwoole</html>
var_dump($string->stripTags()->__toString());
// 结果:EasySwoole
替换:
function replace( string $find, string $replaceTo ) : SplString
// 字符串 EasySwoole
var_dump($string->replace("Easy","2018年2月16日,新年快乐Easy")->__toString());
// 结果:2018年2月16日,新年快乐EasySwoole
两者之间的:
function between( string $startStr, string $endStr ) : SplString
// 字符串 EasySwoole
var_dump($string->between("Ea","le")->__toString());
// 结果:sySwoo
正则匹配:
function regex( $regex, bool $rawReturn = false )
// 字符串:http://www.easyswoole.com/index.html
var_dump($string->regex("@^(?:http://)?([^/]+)@i"));
// 结果:http://www.easyswoole.com
是否存在:
function exist( string $find, bool $ignoreCase = true ) : bool
// 字符串 http://www.easyswoole.com/index.html
var_dump($string->exist("easyswoole"));
// 结果:true
可以撸的烤串:
function kebab() : SplString
// 字符串 KaoChuanKaoChuanKaoChuan
var_dump($string->kebab()->__toString());
// 结果:kao-chuan-kao-chuan-kao-chuan
扭一扭:
function snake( string $delimiter = '_' ) : SplString
// 字符串 PiGuNiuYiNiu
var_dump($string->snake('_')->__toString());
// 结果:pi_gu_niu_yi_niu
起起伏伏:
function studly() : SplString
// 字符串 User_info-Profile-goods_message
var_dump($string->studly()->__toString());
// 结果:UserInfoProfileGoodsMessage
驼峰:
function camel() : SplString
// 字符串 User_info_Profile_goods_message
var_dump($string->camel()->__toString());
// 结果:userInfoProfileGoodsMessage
用数组逐个字符:
function replaceArray( string $search, array $replace ) : SplString
// 字符串 你好啊,你在吗
var_dump($string->replaceArray('你',['我','他'])->__toString());
// 结果:我好啊,他在吗
替换字符串中给定值的第一次出现:
function replaceFirst( string $search, string $replace ) : SplString
// 字符串 你好啊,你在吗
var_dump($string->replaceArray('你','我')->__toString());
// 结果:我好啊,你在吗
替换字符串中给定值的最后一次出现:
function replaceLast( string $search, string $replace ) : SplString
// 字符串 你好啊,你在吗,你在吗
var_dump($string->replaceLast('你','他')->__toString());
// 结果:你好啊,你在吗,他在吗
以一个给定值的单一实例开始一个字符串:
function start( string $prefix ) : SplString
// 字符串 user_table
var_dump($string->start('easyswoole_')->__toString());
// 结果:easyswoole_user_table
在给定的值之后返回字符串的其余部分:
function after( string $search ) : SplString
// 字符串 easyswoole.user.png
var_dump($string->after('.')->__toString());
// 结果:user.png
在给定的值之前获取字符串的一部分:
function before( string $search ) : SplString
// 字符串 easyswoole.jpg
var_dump($string->before('.')->__toString());
// 结果:easyswoole
确定给定的字符串是否以给定的子字符串结束:
function endsWith( $needles ) : bool
// 字符串 easyswoole.jpg
var_dump($string->endsWith(['png','gif','jpg']));
// 结果:true
确定给定的字符串是否从给定的子字符串开始
function startsWith( $needles ) : bool
// 字符串 easyswoole.jpg
var_dump($string->startsWith(['e','easyswoole','es']));
// 结果:true