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

一、背景

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

二、相关函数

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

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

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

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

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

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

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

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

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

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

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

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

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

<?php
 // 这部分,@为你给定的一个值,获取@之前的部分
str_before('jane@example.com', '@');
// -> jane

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

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

<?php

str_after('jane@example.com', '@')
// -> example.com

三、其他的辅助函数

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

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

end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铁柱同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值