Как получить первую букву каждого слова с помощью регулярных выражений в PHP
У меня есть строковая переменная, и я хочу получить первую букву каждого ее слова. Я хочу, чтобы конечный результат был массивом первых букв.
$language = 'Sample Language';
preg_match('/(\b[a-z])+/i', $language, $match);
print_r($match);
То, что я получаю, это только первая буква первого слова. Выше распечатывается массив ([0] => S [1] => S)
Если я изменю это на
preg_match('/(\bL)+/i', $language, $match);
Я могу получить совпадение для L второго слова. Очевидно, что после первого матча он перестает искать остальных. Я не очень хорош с регулярными выражениями. Кто-нибудь может указать, что я сделал неправильно?
слова во входной строке не всегда разделяются пробелом. Это довольно непредсказуемо. Некоторые форматы, с которыми я сталкивался: "MainLanguage: Language" "MainLanguage, Language" "MainLanguage: Language-SubLanguage" здесь я хочу получить M, L и S