@hotmail.com
からどのように削除するのだろうと思っていましたexample@hotmail.com
か?
ありがとう
これにより、すべての電子メールから ドメイン名が削除されます。
// Sample email address for testing:
$email = "example@anything.tld";
// Now let's remove @anything.tld:
$email = preg_replace('/@.+/','',$email);
// And then echo results out to see what we got:
echo $email;
ここで最も重要なのは次の行です。注目してください。
echo preg_replace('/@.+/', '', 'example@deleteme.com');
正規表現マッチングを使用して、で始まり、@
その後に少なくとも 1 つの任意の文字が続くものをすべて削除します。その後、結果を出力します。したがって、すべてを 1 行で行うことができ、すべてのドメインが等しくサポート (破棄) されます。
その後、削除されたもの$email
だけが含ま"example"
れ@anything.tld
ます。
この方法$email
は"my.mail.box@hotmail.com"
、"somebody@mail.ex-ample.com"
またはあなたが想像できるものなら何でもかまいません。
正規表現の詳細については、 function.preg-replace.php、pcre.org 、またはwikipedia/Regular_expressionを参照してください。
$domain = 'gmail.com';
$email = str_replace('@'.$domain, '', $email);
PHP マニュアル ページ: function.str-replace.php
function remove_domain($email) {
$v = explode("@", $email);
return $v[0];
}
str_replace
、_
$email = 'example@hotmail.com';
echo str_replace('@hotmail.com', '', $email); // example
ここのドキュメントを確認してください: http://php.net/manual/en/function.str-replace.php
これがこれを行うための最良の方法かどうかはわかりませんが、次のようなことを試すことができます:
$string = "email@hotmail.com";
$new_string = explode("@", $string);
print $new_string[0] // will print 'email'
それが役に立てば幸い!
または単にstrstr(string $haystack ,mixed $needle [,bool $before_needle = false ])を使用すると、特定のドメインを確認する必要がなくなります。
$email = 'blabla@hotmail.com';
echo strstr($email, '@', true);