我想制作一些名称缩小的东西,例如:
Alex Andersson
将空格(名字)后的第一个单词大写为“A”,如下所示:
Alex A。
现在它显示如下全名:
echo $data["full_name"];
希望你理解我的意思。
答案 0 :(得分:2)
你模糊地描述了它,但据我所知,你可以做类似的事情:
$names = explode(" ", $data["full_name"]);
foreach ($names as $key => $name)
{
if ($key == 0)
continue;
$names[$key] = substr($name, 0, 1).'.';
}
echo implode(" ", $names);
这缩短了除第一个名字之外的所有名称。
答案 1 :(得分:1)
您必须将名字和姓氏存储在不同的变量中,因为您永远无法知道第二个名称的位置。
您可以使用方括号访问变量的第一个字母。
$data[0];
答案 2 :(得分:0)
只有两个名字
preg_replace('/^([A-Z][a-z]+)\s([A-Z])([a-z]+)$/', "\$1 \$2.", $data["full_name"])
答案 3 :(得分:0)
list($fname, $sname) = explode(' ', $data["full_name"]);
$sname = strtoupper(substr($sname, 0, 1));
$new_name = $fname . $sname . '.';
答案 4 :(得分:0)
$nameParts = explode(' ', $data['full_name']);
$lastName = substr(array_pop($nameParts), 0, 1) . '.';
$firstNames = implode(' ', $nameParts);
echo $firstNames . ' ' . $lastName;
答案 5 :(得分:0)
未测试:
shortened = substr($data["full_name"], 0, strpos($data["full_name"], " ") + 1) + ".";
答案 6 :(得分:0)
简单明了:
list($forename, $surname) = explode(' ', $data['full_name']);
echo $forename . ' ' . $surname[0] . '.';
答案 7 :(得分:0)
$name = "Alex Andersson";
$name_arr = explode(" ", $name);
echo ucfirst($name_arr[0])." ".strtoupper($name_arr[1][0]);