php截取字符串下划线,PHP 字符串处理类操作类(截取字符串、字符串转换、检测等等)...

【温馨提示】源码包解压密码:www.youhutong.com

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');

}

}

?>

浏览器启用弹出窗口过滤功能,将无法跳转到下载页。在浏览器地址栏右边符号提示处点击允许就可以了!

【温馨提示】源码包解压密码:www.youhutong.com

郑重声明:

1、本站源码仅供个人学习研究和交流使用,请于下载后二十四小时内删除

2、本站大多资源来源于互联网、用户分享,仅供学习交流使用,本站不提供任何技术支持

3、本站联系方式Email:admin@youhutong.com ,收到邮件会第一时间处理。

4、如侵犯到任何版权问题,请立即告知本站(立即在线告知),本站将及时删除并致以最深的歉意

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值