0

この「firstname lastname(email)」のような文字列があり、php でこの文字列から「email」を抽出したいと考えています。私は何をすべきか?任意のソリューション...

4

4 に答える 4

1

正規表現とpreg_match()?の使用

たとえば、括弧内のすべてに一致します。

preg_match ('/\((.+)\)/', $subject, $matches);

たとえば、電子メールを解析します。

preg_match ('/^([\w\.-]{1,64}@[\w\.-]{1,252}\.\w{2,4})$/', $subject, $matches);
于 2012-11-01T08:41:01.877 に答える
1

この関数preg_match()を使用します

preg_match_all("/[\._a-zA-Z0-9-]+@[\._a-zA-Z0-9-]+/i", $string, $email);

変数$email[0]は、変数から抽出された電子メールを保持します$string。このようなメールが多数ある場合は、配列変数のインデックスが増加します$email

于 2012-11-01T08:45:08.180 に答える
0

コードを試す

 $str = "firstname lastname(email)"; //Given string 
 $begin =  strpos($str , "(") + 1;    //string position of first letter of email
 $length =  strpos($str , ")") - $begin; // Total length of email

 echo substr($str , $begin  , $length );  // using substr php function

ありがとう

于 2012-11-01T08:50:54.020 に答える
0

どこ

$str = "firstname lastname(email)";

試す

$email = substr($str, stripos($str,"(")); // still has closing ) 
$email = substr($email, 0,strlen($email)-1); // removes )
于 2012-11-01T08:33:02.650 に答える