说到Laravel7方便的字符串操作,用过Laravel的朋友都知道Laravel内置的字符串处理函数有个了解,IlluminateSupportStr类。Laravel7现在基于这些函数提供了一个更面向对象、更流畅的字符串操作库。可以使用String::of创建一个IlluminateSupportStringable对象,然后根据对象提供的方法链式操作处理字符串:这里先看官方的例子:return(string)Str::of('LaravelFramework6.x')->trim()->replace('6.x','7.x')->slug();上面的代码来自官网的releasenotes,我们可以很容易的看出每一个方法是干嘛的。第一步是在LaravelFramework6.x中使用Str::of()方法对字符串进行包装,然后我们可以使用Laravel7提供的各种平滑操作方法。例如trim()去除前后空格。replace()进行替换,slug()将字符串变为slug形式上面代码的实际运行结果是:laravel-framework-7x的上述方法是不是很简单好用?接下来我们介绍几种常用的方法。before()方法返回字符串中给定值之前的所有内容:str::of('mywebsiteiswww.wjcms.net')->before('is');//'mywebsite'hasthesame推理before(),就会有after()after()方法返回字符串中给定值之后的所有内容。如果字符串中不存在该值,则返回整个字符串:Str::of('我的网站是www.wjcms.net')->after('is');//'www.wjcms.net'append()方法将给定值附加到字符串:Str::of('vue')->append('cli');//'vuecli'lower()方法将字符串转换为小写:Str::of('LARAVELFRAMEWORK')->lower();//'laravelframework'upper()方法将给定的字符串转换为大写:Str::of('laravel')->upper();//LARAVELtitle()方法将给定的字符串转换为“初始大小写”:Str::of('我的网站是www.wjcms.net')->title();//'MyWebsiteIsWww.wjcmsThe.net'substr()方法取给定start和length参数指定的字符串部分:(从哪个字符截取,截取多少位数)Str::of('Laravel框架')->substr(8);//'框架'Str::of('Laravel框架')->substr(8,6);//'Framew'ucfirst()方法将给定字符串的第一个字母大写:Str::of('我的网站是www.wjcms.net')->ucfirst();//'Mywebsiteiswww.wjcms.net'words()方法限制字符串的字数:Str::of('mywebsiteiswww.wjcms.net')->words(3,'...');//'mywebsiteis...'length()方法返回字符串的长度:Str::of('Laravelframework')->length();//17ok,上面介绍了一些常用的方法,其实都是对文档的操作,我只是不来这里演示,更多用法请直接查看文档,下面是所有方法的集合
