Я пытаюсь создать «аватар», похожий на то, как Gmail делает это, где он будет принимать имя человека и получить первую букву каждого слова, чтобы создать аватар рода.Получите первую букву каждого слова в PHP
Я следил за этим question, но я получаю массив для преобразования строки.
В основном пользователь имеет «имя», которое может быть именем, именем и фамилией. Таким образом, $ Обл может быть любой из них:
John
John Doe
John Doe-man
John Doe Jr.
etc..
В этом случае, я хотел бы, выход из моей функции, чтобы быть чем-то вроде J
или JD
в зависимости от того, если их имя одно слово или несколько слов, как образец выше. Как бы я это сделал? Есть ли какое-нибудь регулярное выражение, которое я могу запустить, чтобы на всякий случай также выделять такие вещи, как периоды, тире или подчеркивания?
Вот моя функция, проблема с этим он ожидает имя, чтобы иметь пространство, которое не всегда бывает
if(!function_exists('get_avatar')){
function get_avatar($str){
$words = explode(' ', $str);
$acronym = '';
foreach($words as $w) {
$acronym .= $w[0];
}
$avatar = preg_split("/[\s,_-]+/", $acronym);
return $avatar;
}
}
Почему вы используете функцию preg_split()? – felipsmartins
Что неясно о вопросе? Не знаю, почему я получил нисходящий опрос по моему вопросу – Derek
ну ... я этого не сделал. – felipsmartins