PHP:删除第一个字符和(。)之间的文本

时间:2012-09-06 12:01:27

标签: php explode

例如,

变量$creator包含john.smith格式的用户名。

如何将其转换为另一个变量,例如$creator1,将用户名缩减为以下格式:jsmith

所以我想删除第一个字符和'。'之间的所有内容。并将结果放入另一个名为$creator1的变量中。

10 个答案:

答案 0 :(得分:2)

尝试:

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

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

也可以将字符串视为字符数组,所以:

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

修改

检查$creator是否包含点do:

$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;
}

答案 1 :(得分:1)

你可以这样做:

$username = 'jhon.smith';
$new_string = $username{0} . substr($username, strpos($username,'.')+1, strlen($username));

答案 2 :(得分: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

这是一个快速编码的,但你会明白的。

答案 3 :(得分:1)

$fullname = 'john.smith';
$parts = explode('.', $fullname);
$lastname = $parts[1];  // smith
$firstname = $parts[0][0]; // j

答案 4 :(得分:0)

$creator1 = substr($creator, 0, 1).substr($creator, strpos($creator, ".")+1);

答案 5 :(得分:0)

$creator = 'john.smith';
$parts = explode('.', $creator);
$condensed = $creator{0} . $parts[1];
print $condensed;
// jsmith

答案 6 :(得分:0)

这样就可以了。

$creator = "john.smith";
$pos = strpos($creator,'.');
$creator1 = substr($creator,0,1).substr($creator,$pos+1,strlen($creator)-$pos);
echo $creator1; // jsmith

答案 7 :(得分:0)

试试这个

$creator="john.smith"
$creator_split=explode('.',$creator);
$creator_first=str_split($creator_split[0]);
$creator1=$creator_first[0].$creator_split[1];

答案 8 :(得分:0)

我正在使用我自己的变量,请将其替换为您的

$str = "john.smith";
$str1 = explode(".",$str);
$str2 = $str1[0];
$str3 = $str1[1];
$str4 = substr($str2,0,1);
$finalString = $str4.$str3;

答案 9 :(得分: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”