我正在寻找一种方法,可以从输入字段中提取每个单词的第一个字母,并将其放入变量中。
示例:如果输入字段为"Stack-Overflow Questions Tags Users",则变量的输出应类似于"SOQTU"
发布于 2010-09-09 23:00:27
类似于:
$s = 'Stack-Overflow Questions Tags Users';
if(preg_match_all('/\b(\w)/',strtoupper($s),$m)) {
$v = implode('',$m[1]); // $v is now SOQTU
}我使用正则表达式来匹配紧跟在单词边界后面的边界字符。
编辑:为了确保所有的缩写字符都是大写的,您可以使用strtoupper,如下所示。
发布于 2010-09-10 00:11:17
$s = 'Stack-Overflow Questions Tags Users';
echo preg_replace('/\b(\w)|./', '$1', $s);与codaddict相同,但更短
要获得unicode支持,请将u修饰符添加到regex:preg_replace('...../u',
发布于 2010-09-09 23:36:11
完全不同的是:
$input = 'Stack-Overflow Questions Tags Users';
$acronym = implode('',array_diff_assoc(str_split(ucwords($input)),str_split(strtolower($input))));
echo $acronym;https://stackoverflow.com/questions/3677771
复制相似问题