PHP如何拆分中文名字(包括少数民族名字)

/**
 * @param string|null $name
 * @return array|null
 */
function splitName($name)
{
    if (empty($name) || empty(trim($name))) {
        return null;
    }
    //该正则是用来提取$name参数里面的中文字符的。
    preg_match_all('/[\x{4e00}-\x{9fff}]+/u', $name, $matchers);
    $matchersCount = isset($matchers[0]) ? count($matchers[0]) : 0;
    if ($matchersCount <= 0) {
        return null;
    }
    $firstName = $lastName = '';
    if ($matchersCount == 1) {
        $lastName = mb_substr($name, 0, 1);
        $firstName = mb_substr($name, 1);
    } else {
        foreach ($matchers[0] as $index => $value) {
            if ($index == 0) {
                $firstName = $value;
            } else {
                $lastName .= $value;
            }
        }
    }
    return compact('firstName', 'lastName');
}


var_dump(splitName("姓名"));
var_dump(splitName("姓1231名adsa"));
var_dump(splitName("买买提·吐尔逊"));

测试结果如下:

相关推荐

  1. 姓名,名字

    2024-01-13 10:32:04       53 阅读
  2. py php shell 等等 使用脚本 处理文本 名字定义

    2024-01-13 10:32:04       39 阅读
  3. Docker 如何删除所有没有名字的镜像

    2024-01-13 10:32:04       59 阅读
  4. git如何修改提交代码时的名字和邮箱?

    2024-01-13 10:32:04       63 阅读
  5. git如何修改提交代码时的名字和邮箱?

    2024-01-13 10:32:04       63 阅读
  6. 名字的漂亮度

    2024-01-13 10:32:04       53 阅读
  7. flutter 修改app名字

    2024-01-13 10:32:04       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-13 10:32:04       91 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-13 10:32:04       97 阅读
  3. 在Django里面运行非项目文件

    2024-01-13 10:32:04       78 阅读
  4. Python语言-面向对象

    2024-01-13 10:32:04       88 阅读

热门阅读

  1. Ubuntu搭建OpenCV环境(C++)

    2024-01-13 10:32:04       57 阅读
  2. LocalDateTime与时间戳转换的全局配置

    2024-01-13 10:32:04       58 阅读
  3. golang学习-结构体

    2024-01-13 10:32:04       50 阅读
  4. No Feign Client for loadBalancing defined. 错误解决

    2024-01-13 10:32:04       59 阅读
  5. MYSQL学习——聚合函数

    2024-01-13 10:32:04       47 阅读
  6. 30天精通Nodejs--第十五天:Websocket

    2024-01-13 10:32:04       53 阅读
  7. 深度学习基础教程

    2024-01-13 10:32:04       46 阅读
  8. 「HDLBits题解」Module add

    2024-01-13 10:32:04       47 阅读
  9. 在Python中调用狄拉克gamma矩阵

    2024-01-13 10:32:04       44 阅读