Skip to main content

字符串类

1、判断一个字符串中是否包含指定字符串

  • 请求参数类型:string

  • 返回值类型:bool

  • 返回值含义:包含返回 true,不包含返回 false

public function isContain($string, $content)
{
if (strpos($string, $content) !== false){
return true;
}else{
return false;
}
}
$obj = new StringHandle();
$res = $obj->isContain('我爱你中国', '中国');
vd($res);

输出:bool(false)

2、判断一个字符串是否全是中文

  • 请求参数类型:string

  • 返回值类型:bool

  • 返回值含义:全是中文返回 true,不全是中文返回 false

public function isAllContainChinese($string)
{
if (preg_match('/^[\x{4e00}-\x{9fa5}]+$/u', $string)>0){
return true;
}else{
return false;
}
}
$obj = new StringHandle();
$res = $obj->isAllContainChinese('我爱你中国');
vd($res);

输出:bool(true)

3、判断字符串中是否包含中文

  • 请求参数类型:string

  • 返回值类型:bool

  • 返回值含义:包含中文返回 true,不包含中文返回 false

public function isContainChinese($string)
{
if (preg_match("/[\x7f-\xff]/", $string)){
return true;
}else{
return false;
}
}
$obj = new StringHandle();
$res = $obj->isContainChinese('ab哈edd');
vd($res);

输出:bool(true)

4、判断字符串是否是 数字、字母、下划线组成的

  • 请求参数类型:string

  • 返回值类型:bool

  • 返回值含义:是 数字、字母、下划线组成的返回 true,不是 数字、字母、下划线组成的返回回 false

public function isLegalString($string)
{
if (preg_match('/^[A-Za-z0-9_]+$/u',$string)){
return true;
}else{
return false;
}
}
$obj = new StringHandle();
$res = $obj->isLegalString('123Abc_');
vd($res);

输出:bool(true)

5、随机生成一个指定长度的字符串

  • 请求参数类型:int

  • 返回值类型:string

  • 返回值含义:返回一个指定长度的随机字符串

public function getRandStrByLength($length)
{
$str = sprintf(
'%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
mt_rand(0, 0xffff),
mt_rand(0, 0xffff),
mt_rand(0, 0xffff),
mt_rand(0, 0x0fff) | 0x4000,
mt_rand(0, 0x3fff) | 0x8000,
mt_rand(0, 0xffff),
mt_rand(0, 0xffff),
mt_rand(0, 0xffff)
).sprintf(
'%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
mt_rand(0, 0xffff),
mt_rand(0, 0xffff),
mt_rand(0, 0xffff),
mt_rand(0, 0x0fff) | 0x4000,
mt_rand(0, 0x3fff) | 0x8000,
mt_rand(0, 0xffff),
mt_rand(0, 0xffff),
mt_rand(0, 0xffff));
$str = str_replace('-','',$str);
return mb_substr($str,0,$length);
}
$obj = new StringHandle();
$res = $obj->getRandStrByLength(10);
echo $res;

输出:cd41fad38c

6、去除字符串中的前导 0

  • 请求参数类型:string(不能是int)

  • 返回值类型:string

  • 返回值含义:返回一个指定长度的随机字符串

public function getRemoveHeadZero($string)
{
return ltrim($string, '0');
}
$obj = new StringHandle();
$res = $obj->getRemoveHeadZero('002304');
echo $res;

输出:2304

7、去除字符串最后一位

  • 请求参数类型:string

  • 返回值类型:string

  • 返回值含义:返回去除字符串最后一位字符后的字符串

public function removeStringLast($string)
{
return mb_substr($string, 0, -1);
}
$obj = new StringHandle();
$res = $obj->removeStringLast('卡塔尔世界杯');
echo $res;

输出:卡塔尔世界

8、获取文件名的后缀

  • 请求参数类型:string

  • 返回值类型:string

  • 返回值含义:返回文件名的后缀

public function getFileNameSuffix($fileName)
{
return pathinfo($fileName)['extension'];
}
$obj = new StringHandle();
$res = $obj->getFileNameSuffix('haha.2.jpg');
echo $res;

输出:jpg

9、替换指定位数的字符串

  • 请求参数类型:string

  • 返回值类型:string

  • 返回值含义:返回文件名的后缀

public function hideSignString($string, $sign = '*', $start = 0, $length = 1)
{
$handleString = $string;
//获取目标字符串
$targetString = mb_substr($handleString, $start, $length);
//拼接指定位数的符号
$str = "";
for ($i = mb_strlen($targetString); $i--;){
$str .= $sign;
}
//进行替换
return str_replace($targetString, $str, $string);
}
$obj = new StringHandle();
$res = $obj->hideSignString(15333885922, '*', 3, 4);
echo $res;

输出:153****5922