• Linux
  • apache
  • centos
  • Git版本管理
  • Linux基本命令
  • linux配置与优化
  • Nginx
  • PHP
  • Redis
  • Supervisor
  • Swoole
  • windows
  • THINKPHP
  • 开发者手册
  • Chat GPT / Open Ai
  • php计算一个字符串中有多少个字母.汉字.数字.符号的函数

    全屏阅读
  • 基本信息
  • 作者:
  • 作者已发布:925篇文章
  • 发布时间:2023年06月15日 20:40:26
  • 所属分类:PHP+MySql, PHP原生源码
  • 阅读次数:252次阅读
  • 标签:
  • header("Content-type: text/html; charset=utf-8");
     
    echo $str = "43fdf测试fdsfadaf43543543职工问防盗锁防盗锁5345gfdgd";
     
    echo "<br>字符串的总长度".strlen($str);
     
    preg_match_all("/[0-9]{1}/",$str,$arrNum);
     
    preg_match_all("/[a-zA-Z]{1}/",$str,$arrAl);
     
    preg_match_all("/([\x{4e00}-\x{9fa5}]){1}/u",$str,$arrCh);
     
    echo "<br>数字个数:".count($arrNum[0])."<br>";
     
    echo "字母个数:".count($arrAl[0])."<br>";
     
    echo "中文个数:".count($arrCh[0])."<br>";
     
    $str_tmp = $str;
     
    for($i=0;$i<strlen($str);$i++){
     
        if(preg_match("/^[0-9]{1}/",$str_tmp)){ //判断字符串第一个字符是否为数字
     
            echo substr($str_tmp,0,1)."[是数字][$i]<br>";
     
            $str_tmp = substr($str_tmp,1);
     
        }else if(preg_match("/^[a-zA-Z]{1}/",$str_tmp)){ //判断字符串第一个字符是否为字母
     
            echo substr($str_tmp,0,1)."[是字母][$i]<br>";
     
            $str_tmp = substr($str_tmp,1);
     
        }else if(preg_match("/([\x{4e00}-\x{9fa5}]){1}/u",$str_tmp)){ //判断字符串是否为汉字
     
            echo substr($str_tmp,0,3)."[是汉字][$i]<br>";
     
            $str_tmp = substr($str_tmp,3);
     
            $i += 2;
     
        }
     
    }

    顶一下
    (0)
    100%
    订阅 回复
    踩一下
    (0)
    100%
    » 郑重声明:本文由mpxq168发布,所有内容仅代表个人观点。版权归恒富网mpxq168共有,欢迎转载, 但未经作者同意必须保留此段声明,并给出文章连接,否则保留追究法律责任的权利! 如果本文侵犯了您的权益,请留言。
  • 【上一篇】
  • 【下一篇】
  • 目前有 0 条留言 其中:访客:0 条, 博主:0 条

    给我留言

    您必须 [ 登录 ] 才能发表留言!