话说 Laravel7 便捷的字符串操作
用过 Laravel 的敌人都晓得,Laravel 内置的字符串处理函数有理解,IlluminateSupportStr 类。
Laravel 7 当初基于这些函数提供了一个更加面向对象的、更加晦涩的字符串操作库。你能够应用 String::of 创立一个 IlluminateSupportStringable 对象,而后基于该对象提供的办法以链式的操作对字符串进行解决:
这里咱们先看一下官网的实例:
return (string) Str::of('Laravel Framework 6.x')
->trim()
->replace('6.x', '7.x')
->slug();
下面的代码,来自官网发行阐明,咱们很容易看到,每个办法都是干嘛的。
首先第一步将字符串 Laravel Framework 6.x 应用 Str::of() 办法进行包裹,之后咱们就能够应用 Laravel 7 为咱们提供的各种晦涩的操作方法。
比方 trim() 去除前后空格。replace() 进行替换,slug() 将字符串变成 slug 的模式
下面的代码理论运行后果就是:
laravel-framework-7x
下面的办法是不是用起来非常简单?
接下来咱们介绍几个罕用的办法。
before() 办法
返回字符串中给定值之前的所有内容:
Str::of('my website is www.wjcms.net')->before('is');
// 'my website'
同理有 before(),就会有 after()
after() 办法
返回字符串中给定值之后的所有内容。如果字符串中不存在该值,则将返回整个字符串:
Str::of('my website is www.wjcms.net')->after('is');
// 'www.wjcms.net'
append() 办法
将给定值附加到字符串:
Str::of('vue')->append('cli');
// 'vue cli'
lower() 办法
将字符串转换为小写:
Str::of('LARAVEL FRAMEWORK')->lower();
// 'laravel framework'
upper() 办法
将给定的字符串转换为大写:
Str::of('laravel')->upper();
// LARAVEL
title() 办法
将给定的字符串转换为「首字母大写」:
Str::of('my website is www.wjcms.net')->title();
// 'My Website Is Www.wjcms.net'
substr() 办法
将给定的 start 和 length 参数指定的字符串局部:(从第几个字符开始截取,截取多少位)
Str::of('Laravel Framework')->substr(8);
// 'Framework'
Str::of('Laravel Framework')->substr(8, 6);
// 'Framew'
ucfirst() 办法
将给定的字符串首字母大写:
Str::of('my website is www.wjcms.net')->ucfirst();
// 'My website is www.wjcms.net'
words() 办法
限度字符串中的单词数:
Str::of('my website is www.wjcms.net')->words(3, '...');
// 'my website is ...'
length() 办法
返回字符串的长度:
Str::of('Laravel framework')->length();
// 17
ok, 以上介绍了一些罕用的办法,其实都是文档上的操作,我只不过那不过去操作演示一遍,更多的用法,请间接查看 文档
上面是 所有的办法汇合