PHP 字符串处理类操作类(截取字符串、字符串转换、检测等等):
全部方法:
01、检查字符串中是否包含某些字符串。
02、检查字符串是否以某些字符串结尾。
03、检查字符串是否以某些字符串开头。
04、获取指定长度的随机字母数字组合的字符串。
05、字符串转小写。
06、字符串转大写。
07、获取字符串的长度。
08、截取字符串(从字符串中截取指定长度)。
09、驼峰转下划线。
10、下划线转驼峰(首字母小写)。
11、下划线转驼峰(首字母大写)。
12、转为首字母大写的标题格式。
类源码:
<?php class 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'); } } ?>
转载请注明来源地址:小川编程 » https://www.youhutong.com/index.php/article/index/166.html
1、本站发布的内容仅限用于学习和研究目的.请勿用于商业或非法用途,下载后请24小时内删除。
2、本站所有内容均不能保证其完整性,不能接受请勿购买或下载,如需完整程序,请去其官方购买正版使用
3、本站联系方式Email:admin@youhutong.com ,收到邮件会第一时间处理。
4、如侵犯到任何版权问题,请立即告知本站(立即在线告知),本站将及时删除并致以最深的歉意