laravel 5.5 的相关字符串辅助函数

一、背景

最近在学习laravel 5.5的相关新特性,偶然间发现了几个不错的字符串辅助函数。分享给大家。

二、相关函数

1、Str::start() 辅助方法

如果字符串没有以给定值开头的话 str_start 函数会将给定值添加到字符串最前面,这个辅助方法可以确保字符串只是由某个特定的值开始。

我们假设你有一个 API baseUrl,你通常需要移除尾部的斜杠来规范 URL:


 // rtrim 从字符串右侧移除字符:  rtrim(str,参数);
 //rtrim的第一个参数为字符串,第二个参数为要移除的部分
return [
    'my_api' => [
        'base_url' => rtrim(env('MY_API_BASE_URL'), '/'),
    ],
];

之后,当你需要规范路径避免出现多个斜杠的时候,可能需要执行以下操作:


  // ltrim 从字符串左侧移除字符:  ltrim(str,参数);
 //ltrim的第一个参数为字符串,第二个参数为要移除的部分
return config('my_api.base_url') . '/' . ltrim($path, '/')
?>

现在,通过 Str::start() 及其辅助方法 str_start(),你可以这样规范路径:


 // 这部分,我们通过str_start()函数,规定字符串$path的开头部分以'/'开始,
 //如此便可避免上面的移除操作
$path = '//example';

config('my_api.base_url') . str_start($path, '/');

// -> https://my-api.com/example

2、Str::before() 辅助方法

获取字符串中,你给定值之前的部分。类似于分割字符串的操作。只不过这个用起来更简单一些。

假设你想得到邮箱地址最开始的部分:


 // 这部分,@为你给定的一个值,获取@之前的部分
str_before('[email protected]', '@');
// -> jane

3、Str::after() 辅助方法

Str::after() 会返回字符串中给定某个值之后的所有内容。还是用邮箱地址的例子来说,假设我们只想获取邮箱地址的主机名:



str_after('[email protected]', '@')
// -> example.com

三、其他的辅助函数

参考官方文档:
laravel 5.5的辅助函数

这些辅助函数包括,操作数组,字符串,URL,路径等,在实际开发中可以省去不少的时间,大家可以去看看。

end

你可能感兴趣的:(laravel)