laravels 辅助函数 str_finish 的目的是什么?
What is the purpose of laravels helper function str_finish?
我刚刚偶然发现了辅助函数 str_finish from the laravel framework。
这与简单的有何不同
$newString = 'some string' . 'END';
?
功能码为:
public static function finish($value, $cap)
{
$quoted = preg_quote($cap, '/');
return preg_replace('/(?:'.$quoted.')+$/u', '', $value).$cap;
}
将这个看似基本的内置 PHP 功能放入一个单独的函数中有什么好处?
它做的不止于此,如果字符串已经由给定的字符串完成,它不再追加:
例如:
'abbc' === str_finish('ab', 'bc');
'abbc' === str_finish('abbcbc', 'bc');
'abcbbc' === str_finish('abcbbcbc', 'bc');
我刚刚偶然发现了辅助函数 str_finish from the laravel framework。
这与简单的有何不同
$newString = 'some string' . 'END';
?
功能码为:
public static function finish($value, $cap)
{
$quoted = preg_quote($cap, '/');
return preg_replace('/(?:'.$quoted.')+$/u', '', $value).$cap;
}
将这个看似基本的内置 PHP 功能放入一个单独的函数中有什么好处?
它做的不止于此,如果字符串已经由给定的字符串完成,它不再追加:
例如:
'abbc' === str_finish('ab', 'bc');
'abbc' === str_finish('abbcbc', 'bc');
'abcbbc' === str_finish('abcbbcbc', 'bc');