我已经编写了一个脚本,将用户全名转换为“名+姓的首字母”。但是,当用户的姓氏以“埃姆厄姆”或“奥姆”开头时,脚本将这些字符转换为"&“。例如。“芭芭拉·斯特加德”返回“芭芭拉”。
if (empty($user->first_name) && empty($user->last_name)) {
$full_name = "Anonymous teacher";
$url = "anonymous-teacher";
} else {
$name = $user->first_name . ' ' . $user->last_name;
$name = explode(" ", $name);
$full_name = $name[0]." ".$name[1][0].".";
$url = strtolower($name[0]."-".$name[1][0]);
}发布于 2015-10-28 13:26:44
由于您使用的是UTF-8字符,所以像数组一样解析字符将不能正常工作。
这将解决您的问题,并返回第二个单词的第一个字符:
mb_substr( $name[1], 0, 1,'UTF8');工作实例:
$name = "Barbara Østergaard";
$name = explode(" ", $name);
echo $name[0]." ".mb_substr( $name[1], 0, 1,'UTF8');.".";发布于 2015-10-28 13:23:58
在名称上使用html_entity_decode()
https://stackoverflow.com/questions/33392073
复制相似问题