如何在Laravel/PHP中获取含连字符短语的首字母缩写
在Laravel/PHP中实现支持连字符的短语首字母缩写
核心需求
提取短语中每个独立语义单元的首字母(包括连字符分隔的单词,比如Front-end需分别提取F和E),最终生成大写的首字母组合。
高效实现方案
1. PHP原生正则方案(极简代码)
通过正则匹配所有单词的首字母,不管是空格还是连字符分隔的单元,一行核心逻辑就能解决问题:
function getAbbr($phrase) { preg_match_all('/\b\w/', $phrase, $matches); return strtoupper(implode('', $matches[0])); } echo getAbbr("Technical Learning Curve in Front-end"); // 输出 TLCIFE
原理:\b匹配单词边界,\w匹配每个单词的第一个字符,自动识别空格、连字符分隔的独立单元。
2. Laravel风格实现
如果是Laravel项目,可利用框架内置的Str字符串类简化写法,保持项目代码风格统一:
use Illuminate\Support\Str; function getAbbr($phrase) { return Str::of($phrase)->matchAll('/\b\w/')->implode('')->upper(); }
方案优势
- 原生正则方案:不依赖框架,代码简洁,同时支持空格、连字符分隔的场景,性能高效。
- Laravel方案:借助框架工具类,代码可读性更强,适配Laravel项目的开发习惯。
内容的提问来源于stack exchange,提问作者Jaleel
相关产品推荐
相关产品推荐

