info@example.comというメールアドレスのinfo部分とexample.comという部分を、それぞれ取り出したいときに使える方法です。
<?php
$email = 'name@example.com';
$domain = strstr($email, '@');
echo $domain; // @example.com と表示します
$user = strstr($email, '@', true);
echo $user; // name と表示します
?>
@より左側の文字を取り出す
$mail = "info@example.com";
echo $mail;
echo "<br>";
$new_str = strstr($mail,'@',false);
echo $new_str;
@を取り除く場合は、str_replaceを使って削除できます。
$mail = "info@example.com";
echo $mail;
echo "<br>";
$new_str = strstr($mail,'@',false);
echo $new_str;
echo "<br>";
$new_str2 = str_replace('@', '', $new_str);
echo $new_str2;
@より右側の文字を取り出す
@より右側の文字を取り出す場合は、strstrの引数をtrueにします。
$mail = "info@example.com";
echo $mail;
echo "<br>";
$new_str = strstr($mail,'@',true);
echo $new_str;
取得できました!
まとめ
このような感じで、指定した文字の左側や右側の文字をstr_replace・strstrといった方法を使って削除することができます。
ご参考ください😃