字符串助手函数
class Str { /** * 检查字符串中是否包含某些字符串 * @param string $haystack * @param string|array $needles * @return bool */ public static function contains($haystack, $needles) { foreach ((array)$needles as $needle) { if ($needle != '' && mb_strpos($haystack, $needle) !== false) { return true; } } return false; } /** * 检查字符串是否以某些字符串结尾 * * @param string $haystack * @param string|array $needles * @return bool */ public static function endsWith($haystack, $needles) { foreach ((array)$needles as $needle) { if ((string)$needle === static::substr($haystack, -static::length($needle))) { return true; } } return false; } /** * 检查字符串是否以某些字符串开头 * * @param string $haystack * @param string|array $needles * @return bool */ public static function startsWith($haystack, $needles) { foreach ((array)$needles as $needle) { if ($needle != '' && mb_strpos($haystack, $needle) === 0) { return true; } } return false; } /** * 获取指定长度的随机字母数字组合的字符串 * * @param int $length * @return string */ public static function random($length = 16) { $pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; return static::substr(str_shuffle(str_repeat($pool, $length)), 0, $length); } /** * 字符串转小写 * * @param string $value * @return string */ public static function lower($value) { return mb_strtolower($value, 'UTF-8'); } /** * 字符串转大写 * * @param string $value * @return string */ public static function upper($value) { return mb_strtoupper($value, 'UTF-8'); } /** * 获取字符串的长度 * * @param string $value * @return int */ public static function length($value) { return mb_strlen($value); } /** * 截取字符串 * * @param string $string * @param int $start * @param int|null $length * @return string */ public static function substr($string, $start, $length = null) { return mb_substr($string, $start, $length, 'UTF-8'); } }