1

例えば、

変数$creatorには、形式のユーザー名が含まれますjohn.smith

これを別の変数に変換するにはどうすればよいですか。たとえば$creator1、ユーザー名を次の形式に切り詰めます: jsmith.

したがって、最初の文字と「。」の間のすべてを削除したいと思います。結果を という別の変数に入れます$creator1

4

10 に答える 10

2

試してみてください:

$creator = 'john.smith';
list($name, $surname) = explode('.', $creator);

$creator1 = substr($name, 0, 1) . $surname;

文字列を文字の配列として扱うことも可能です。

$creator1 = $name[0] . $surname;

編集:

$creatorドットが含まれているかどうかを確認するには、次のようにします。

$creator = 'john.smith';
if ( strpos($creator, '.') !== false ) { // contains dot
    list($name, $surname) = explode('.', $creator);
    $creator1 = substr($name, 0, 1) . $surname;
} else { // doesn't contain dot
    $creator1 = $creator;
}
于 2012-09-06T12:04:52.580 に答える
1

次の方法で実行できます。

$username = 'jhon.smith';
$new_string = $username{0} . substr($username, strpos($username,'.')+1, strlen($username));
于 2012-09-06T12:05:22.993 に答える
1

さまざまな方法で行うことができます。1つ説明します。

$name = "jonh.smith";
$data = explode(".",$name); // This will separate the name using dot as delimiter
$name1 = $data[0]; // Has jonh
$name2 = $data[1]; // Has smith
$nick = substr($name1,0,1); // Gets the first char
$nick = $nick . $name2; // Appends smith

これは高速にコーディングされたものですが、アイデアは得られます。

于 2012-09-06T12:06:34.953 に答える
1
$fullname = 'john.smith';
$parts = explode('.', $fullname);
$lastname = $parts[1];  // smith
$firstname = $parts[0][0]; // j
于 2012-09-06T12:06:43.123 に答える
0

この正規表現を使用します。

$var1="john.smith";
$var2=preg_replace(array("/^(.{1})(.*)(\..*)/"),array("$1$3"),$var1);
echo $var2;

http://codepad.viper-7.com/ROgj02

編集:文字列に「。」が含まれていない場合 この式は同じ文字列を返します。

$var1="john.smith";
$var2="johnsmith";
$res1=preg_replace(array("/^(.{1})(.*)(\..*)/"),array("$1$3"),$var1);
$res2=preg_replace(array("/^(.{1})(.*)(\..*)/"),array("$1$3"),$var2);
var_dump($res1,$res2);

それは戻ります:

string(7) "j.smith" string(9) "johnsmith"

于 2012-09-06T12:25:04.507 に答える
0
$creator1 = substr($creator, 0, 1).substr($creator, strpos($creator, ".")+1);
于 2012-09-06T12:05:07.230 に答える
0
$creator = 'john.smith';
$parts = explode('.', $creator);
$condensed = $creator{0} . $parts[1];
print $condensed;
// jsmith
于 2012-09-06T12:05:38.697 に答える
0

これでうまくいきます。

$creator = "john.smith";
$pos = strpos($creator,'.');
$creator1 = substr($creator,0,1).substr($creator,$pos+1,strlen($creator)-$pos);
echo $creator1; // jsmith
于 2012-09-06T12:06:41.393 に答える
0

これを試して

$creator="john.smith"
$creator_split=explode('.',$creator);
$creator_first=str_split($creator_split[0]);
$creator1=$creator_first[0].$creator_split[1];
于 2012-09-06T12:07:30.333 に答える
0

私は自分の変数を使用しています。あなたのものに置き換えてください

$str = "john.smith";
$str1 = explode(".",$str);
$str2 = $str1[0];
$str3 = $str1[1];
$str4 = substr($str2,0,1);
$finalString = $str4.$str3;
于 2012-09-06T12:10:40.943 に答える