4

すでに尋ねられたいくつかの質問を読み、他のいくつかのサイトをチェックした後、「ジェイク・ホワイトマン」と言うようなフルネームを取得し、それをトリミングしてWebに表示する簡単な方法を見つけることにまだ進んでいません「ジェイク W」としてページ。明らかにスピーチマークがなくても、混乱がないようにしています。

誰でもそれを行う方法を知っていますか? おそらく空白を見つけてから姓を切り詰めるだけの問題だと確信していますが、それを行う方法を見つけることができないようです.

前もって感謝します!

4

5 に答える 5

7
$names = explode( " ", $name );
echo $names[0]." ".$names[1][0];
于 2012-07-13T02:54:59.493 に答える
5

このコードを使用できます。これは、2 番目の単語がミドル ネームであると仮定すると、姓のみが切り捨てられる 3 語の名前で機能します。

<?php

$name = "Jake Awesome Whiteman";
$separate = explode(" ", $name);
$last = array_pop($separate);

echo implode(' ', $separate)." ".$last[0].".";

?>
于 2012-07-13T03:03:17.550 に答える
2

それらが常に「[Other Names] LastName」の形式であり、最後の単語が常に姓であると仮定すると、php関数のexplode() (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.'
于 2012-07-13T02:56:36.003 に答える
1
$name = "Jake Whiteman";
$names = explode(' ', $name); //$names[0] = "Jake", $names[1] = "Whiteman"
echo $names[0]." ".substr($names[1], 0,1).".";
于 2012-07-13T02:56:08.543 に答える
1

これは、名とユーザーのみが複数の名前を入力する場合に役立ちます

<!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>
于 2016-06-06T13:24:22.403 に答える