PHP 字符串处理类操作类(截取字符串、字符串转换、检测等等)

来源:互联网 发布:asp企业网站源码 编辑:程序博客网 时间:2024/04/29 17:08

PHP 字符串处理类操作类(截取字符串、字符串转换、检测等等):

全部方法:

01、检查字符串中是否包含某些字符串。

02、检查字符串是否以某些字符串结尾。

03、检查字符串是否以某些字符串开头。

04、获取指定长度的随机字母数字组合的字符串。

05、字符串转小写。

06、字符串转大写。

07、获取字符串的长度。

08、截取字符串(从字符串中截取指定长度)。

09、驼峰转下划线。

10、下划线转驼峰(首字母小写)。

11、下划线转驼峰(首字母大写)。

12、转为首字母大写的标题格式。

类源码:

<?phpclass Str{    protected static $snakeCache = [];    protected static $camelCache = [];    protected static $studlyCache = [];     /**     * 检查字符串中是否包含某些字符串     * @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');    }     /**     * 驼峰转下划线     *     * @param  string $value     * @param  string $delimiter     * @return string     */    public static function snake($value, $delimiter = '_')    {        $key = $value;         if (isset(static::$snakeCache[$key][$delimiter])) {            return static::$snakeCache[$key][$delimiter];        }         if (!ctype_lower($value)) {            $value = preg_replace('/\s+/u', '', $value);             $value = static::lower(preg_replace('/(.)(?=[A-Z])/u', '$1' . $delimiter, $value));        }         return static::$snakeCache[$key][$delimiter] = $value;    }     /**     * 下划线转驼峰(首字母小写)     *     * @param  string $value     * @return string     */    public static function camel($value)    {        if (isset(static::$camelCache[$value])) {            return static::$camelCache[$value];        }         return static::$camelCache[$value] = lcfirst(static::studly($value));    }     /**     * 下划线转驼峰(首字母大写)     *     * @param  string $value     * @return string     */    public static function studly($value)    {        $key = $value;         if (isset(static::$studlyCache[$key])) {            return static::$studlyCache[$key];        }         $value = ucwords(str_replace(['-', '_'], ' ', $value));         return static::$studlyCache[$key] = str_replace(' ', '', $value);    }     /**     * 转为首字母大写的标题格式     *     * @param  string $value     * @return string     */    public static function title($value)    {        return mb_convert_case($value, MB_CASE_TITLE, 'UTF-8');    }} ?>


原创粉丝点击