Что-то вроде:
$s = 'Stack-Overflow Questions Tags Users';
if(preg_match_all('/\b(\w)/',strtoupper($s),$m)) {
$v = implode('',$m[1]); // $v is now SOQTU
}
Я использую регулярное выражение \b(\w)
, чтобы сопоставить слово-символ , следующее сразу за границей слова .
EDIT:
Чтобы убедиться, что все символы Acronym прописные, вы можете использовать strtoupper
, как показано.