-3

ウェブサイトを宣伝するために、私は購読者が電子メールで友達を招待することを許可し、彼らに報酬を与えます。

しかし、それらのいくつかは、次のようなメーリングリストを使用していました。

user@example.com, user+1@example.com, user+2@example.com

そして、そのすべての電子メールが参照してuser@example.comいるので、それらはすべて有効です。

'+'記号の後の部分を削除するpreg_replaceパターンとは何ですか?その後、分解してarray_uniqueを使用して、重複する電子メールを削除できますか?

ありがとう。

4

4 に答える 4

3

簡単

$email = preg_replace('/\+[^@]*/i' , '' , $email);
于 2015-11-05T13:31:33.950 に答える
0

で試してみてください

preg_replace('/(.+)\+.+(@.+)/', '$1$2', $mail);

user+@example.com交換する必要がある場合は、

preg_replace('/(.+)\+.*(@.+)/', '$1$2', $mail);
于 2012-06-20T13:16:15.573 に答える
0

ケースでpreg_replaceを使用するには、次のようにします。

$email = 'user+1@example.com';
$email = preg_replace("#(.+)\+.*@(.*)#", '$1@$2', $email);
于 2012-06-20T13:23:32.013 に答える
0

私はついにそれを手に入れました。次を使用して、「+」と「@」の間の部分を削除します。

preg_replace('/\+(.)*@/', '@', $emails);

それがお役に立てば幸いです。

PS:ごめんなさいバートあなたは私があなたに私の仕事を与えると思っていました:私がコードを与えなかった場合、それはそれらのどれも機能しないからです。

于 2012-06-20T13:42:56.353 に答える