laravels帮助函数str_finish的目的是什么?
问题描述:
我只是偶然发现laravel framework的帮助函数str_finish。laravels帮助函数str_finish的目的是什么?
这是如何从一个简单的
$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');
哦,甜美!这就是RegeExp-magic实际上所做的。文档应该提到这一点,因为即使您检查代码,它也不是很明显,首先这不应该是必需的。 – Bran