在閱讀了一些已經提出的問題並檢查了其他幾個網站之後,我仍然沒有進一步尋找一種簡單的方法來取得像「Jake Whiteman」這樣的全名,並對其進行修剪,使其在網頁上顯示爲「Jake W.」。顯然沒有語音標記,所以沒有任何混淆。縮短全名,所以姓氏只是第一個字母
任何人有任何想法如何做到這一點?我相信它可能只是尋找空白區域然後修整姓氏的問題,我似乎無法找到一個辦法。
在此先感謝!
在閱讀了一些已經提出的問題並檢查了其他幾個網站之後,我仍然沒有進一步尋找一種簡單的方法來取得像「Jake Whiteman」這樣的全名,並對其進行修剪,使其在網頁上顯示爲「Jake W.」。顯然沒有語音標記,所以沒有任何混淆。縮短全名,所以姓氏只是第一個字母
任何人有任何想法如何做到這一點?我相信它可能只是尋找空白區域然後修整姓氏的問題,我似乎無法找到一個辦法。
在此先感謝!
$names = explode(" ", $name);
echo $names[0]." ".$names[1][0];
$name = "Jake Whiteman";
$names = explode(' ', $name); //$names[0] = "Jake", $names[1] = "Whiteman"
echo $names[0]." ".substr($names[1], 0,1).".";
假設他們的格式總是「[其它名稱]姓氏」,使得最後一個字總是最後的名字,你可以通過它的分隔符[空格]通過分成令牌PHP函數爆炸()(http://php.net/manual/en/function.explode.php)
// Given
$name = "Jake Whiteman";
// Process
// Tokenize, getting separate names
$names = explode(' ', $name);
// Pop last name into variable $last_name, keep remaining names in $names
$last_name = array_pop($names);
// Get last initial
$last_initial = $last_name[0];
// Put first names back together
$beginning = implode(' ', $names);
$full_name = $beginning.' '.$last_initial.'.';
您可以在一個功能把所有在一起:
function nameWithLastInitial($name) {
$names = explode(' ', $name);
$last_name = array_pop($names);
$last_initial = $last_name[0];
return implode(' ', $names).' '.$last_initial.'.';
}
$name = "Jake Whiteman";
echo nameWithLastInitial($name); // Should print 'Jake W.'
您可以使用此代碼。這將適用於3個措辭的名字,假設第二個單詞是中間名,只有最後一個名字會被截斷。
<?php
$name = "Jake Awesome Whiteman";
$separate = explode(" ", $name);
$last = array_pop($separate);
echo implode(' ', $separate)." ".$last[0].".";
?>
當只有名字和用戶輸入多個名稱,這將是有益的
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<?php
$userName = "Jakeds hfg gsd";
if(preg_match('/\s/',$userName)) {
$separate = explode(" ", $userName);
$last = array_pop($separate);
$first = mb_strimwidth($separate[0], 0 , 15);
echo $first." ".$last[0].".";
} else {
$first = mb_strimwidth($userName, 0 , 15);
echo $first;
}
//echo $first." ".$last[0].".";
?>
</body>
</html>
使用數組語法 – 2012-07-13 02:55:36
乾杯幹得漂亮!感激! – 2012-07-13 03:08:42
也許無關緊要,但Shamus O'Callaghan呢? – Josh 2012-07-13 03:50:23