Frage Entfernen von @ email.com von String in PHP


Ich möchte nur die linke Hälfte einer E - Mail - Adresse (die username Teil von username@email.com ), strippen Sie das @ und alle Zeichen danach.


5
2018-04-01 06:11


Ursprung


Antworten:


Wenn Sie PHP5.3 haben, könnten Sie verwenden Str

$email = 'username@email.com';

$username = strstr($email, '@', true); //"username"

Wenn nicht, benutze einfach den Trusty substr

$username = substr($email, 0, strpos($email, '@'));

12
2018-04-01 06:12



Sie können die Zeichenfolge mit explode () teilen

$email = 'hello@email.com';
/*split the string bases on the @ position*/
$parts = explode('@', $email);
$namePart = $parts[0];

2
2018-04-01 06:13



$parts=explode('@','username@email.com');

echo $parts[0];// username
echo $parts[1];// email.com

1
2018-04-01 06:14



Da niemand benutzt wird preg_match noch:

<?php
    $email = 'user@email.com';
    preg_match('/(\S+)(@(\S+))/', $email, $match);

/*  print_r($match);
        Array
        (
            [0] => user@email.com
            [1] => user
            [2] => @email.com
            [3] => email.com
        )
*/

    echo $match[1];  // output: `user`
?>

Wenn Sie ein Array verwenden, bedeutet das, dass Sie später möchten, dass Sie das möchten email.com Teil, Sie haben es bereits getrennt und müssen Ihre Methode nicht drastisch ändern. :)


0
2018-04-01 06:46



function subStrEmail($Useremail)
{
    $emailSub=substr($Useremail,4);
    $email = explode('.', $emailSub);

    if($email[0]=='www'){
        $email=substr($emailSub,4);
        $email=ltrim($email,'www.');
        return $email;
    }
    return $emailSub;
}

0
2017-09-21 17:16



$text = 'abc@email.com';
$text = str_replace('@email.com','',$text);

-1
2018-04-01 06:25