dadamssg87 Posted November 17, 2011 Share Posted November 17, 2011 I've been using php's strstr() function to find data before an @ character in a string. Work fine for my local ide. I just uploaded all my files to a host to start debugging emails and it came to my attention that my hosting environment is running version 5.2.9 and strstr() isn't fully supported. Heres a bit of code from the manual to show i'm talking about <?php $email = 'name@example.com'; $domain = strstr($email, '@'); echo $domain; // prints @example.com $user = strstr($email, '@', true); // As of PHP 5.3.0 <-- echo $user; // prints name ?> I can't use the third argument apparently. Is there another way to go about doing this? Quote Link to comment Share on other sites More sharing options...
Pikachu2000 Posted November 17, 2011 Share Posted November 17, 2011 How about explode? Or even substr with strpos to find the position of the @. Quote Link to comment Share on other sites More sharing options...
Psycho Posted November 17, 2011 Share Posted November 17, 2011 $user = substr($email, 0, strpos($email, '@')); Quote Link to comment Share on other sites More sharing options...
xyph Posted November 17, 2011 Share Posted November 17, 2011 Check out explode E-mails that contain \@ in them (yes, blah\@blah@domain.com is allowed) will break this functionality though. Alternately, you can find the last @ in the string using strrpos and use that offset to call [m]substr[m] and get everything up to, then everything after it. Quote Link to comment Share on other sites More sharing options...
dadamssg87 Posted November 17, 2011 Author Share Posted November 17, 2011 awesome. thanks everybody. I used mjdamato's suggestion and its working great. thanks! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.