1

最近、所有している古い電子メール データベースにニュースレターを送信しました。それが作成されてから数年後、それらの電子メールの約 30% が非アクティブになっているようです。何千ものメール配信失敗メッセージを受け取りました。

これらの失敗通知はすべてテキスト ファイルとしてサーバーに保存され、サブスクライバーに送信したテキストを含む返信です。各電子メールには、そのテキストにユーザーの ID が含まれています。この ID の前には、次のような一般的なテキストが少しあります。

<a href="abc.com?id=123321"></a>

それは「123321」です。受信した各障害レポートから抽出したいと思います。

最初は手動でそれを行い、すべてを 1 つずつ収集し始めました。500通のメールの後、私の目は床に落ちたように感じました.phpといくつかの機能を使用した解決策があると確信しています. それらすべてを 1 つの大きなファイルに入れて、それを行う preg_match 方法を見つけるか、正規表現で何かを試すことを考えていました。

このような問題にどのように対処し、どこで解決策を探すべきですか?

4

1 に答える 1

1

これは、小さなデータサンプルでうまくいくようです。すべてのデータを一度に読み込もうとしてメモリ不足にならない限り、動作するはずです。

$data = file_get_contents("data.txt");
preg_match_all('#(?<=<a href="abc\.com\?id=)\d+(?="></a>)#',$data,$matches);
print_r($matches);
于 2012-05-02T05:23:30.627 に答える