首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 從英文姓名提取首字母縮寫:initials() 函數

     編輯:PHP 相關知識

PHP 從英文姓名提取首字母縮寫:initials() 函數

將 "Billy Bob" 轉為 "B.B.",適用於用戶頭像佔位、列表首字母索引、郵件簽名生成等場景。

函數代碼

function initials(string $name): string {
    $parts = explode(' ', $name);
    $result = '';
    foreach ($parts as $part) {
        if ($part !== '') {
            $result .= $part[0] . '.';
        }
    }
    return strtoupper($result);
}

// 測試
echo initials('John Doe');        // J.D.
echo initials('  Mary   Jane  '); // M.J.
echo initials('Alice');           // A.

邊界處理

  • 多連續空格:explode 產生空元素,循環中判斷 $part !== '' 跳過。
  • 前後空格:trim() 預處理或循環內判斷均可。
  • 非 ASCII 字符:$part[0] 取第一個位元組,中文姓名會亂碼,需用 mb_substr($part,0,1,'UTF-8')。

中文姓名首字母(拼音首字母)擴展

function chineseInitials(string $name): string {
    // 需第三方拼音庫,如 overtrue/pinyin
    $pinyin = \Overtrue\Pinyin\Pinyin::instance();
    return strtoupper(implode('', array_map(fn($w)=>$w[0], $pinyin->convert($name))));
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved