0

私はphpで正規表現を初めて使用します。文字列の間@.文字列で値を取得しようとしています。たとえば、文字列に値が含まれている場合、出力として abc@gmail.comのみ取得したい。gmail

これまで使用してみexplodeましたが、正規表現を使用してこれを行う方法を提案またはガイドしてくれる結果はありません。前もって感謝します。

以下は私がこれまでに行ったことのサンプルです。

<?PHP
    $str = 'abc@gmail.com';
    $piece = explode('.', $str);
    $piece1 = explode('@', $str);
    echo $piece[1]; 
    echo $piece1[1];
?>
4

2 に答える 2

5
$str = 'abc@gmail.com';

preg_match('/@([^.]+)/', $str, $match);

echo $match[1]; // gmail

上記の内訳:

  • @キャラクターから検索を開始@
  • [^.]+文字ではない1つ以上の文字に一致する.
  • ( )は、この場合はインデックス1となる後方参照でその部分をキャプチャすることです。
  • だから私たちはそれを介してアクセスします$match[1]
于 2012-12-26T04:56:13.373 に答える
1

上記のように簡単です:

$input=hardiksondagar@gmail.com;
// now you want to fetch gmail from input user PHP's inbuilt function 
preg_match('/@([^.]+)/', $input, $output);
echo $output[1]; // it'll print "gmail"
于 2012-12-26T05:22:50.373 に答える