PHP は TXT ファイルからデータを読み取り、マッチング後、条件を満たす別の TXT ファイルに書き込みます
PHP を使用して TXT ファイルからデータを読み取り、マッチング後、条件を満たす別の TXT ファイルに書き込みます条件は次のとおりです。各実行後に、最後の修飾された項目のみ (1 つだけ) が書き込まれることを願っています。アドバイスをください!
$path ='aa.txt';
$fp=fopen($path,"r");
$str = file_get_contents($path);//コンテンツを取得します
$arr =explode("n",$str);//配列をブランチに格納します
foreach($arr) as $ row)//各行を走査
{
if(preg_match("/^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-] )+ .)+([a-zA-Z0-9]{2,4})+$/", $row)){
$path2 ='bb.txt';
$fp2=fopen ($ path2,"a");
fwrite($fp2,$row."rn");
fclose($fp2);
}
}
fclose($fp) ;
?>
------解決策----------------------- -----
あなたから コードに問題はありません
メールを削除することはできませんか?
$str = file_get_contents($path);//コンテンツを取得
if(preg_match_all("/^([a-zA-Z0-9_.-])+@(([a-zA -Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/m", $str, $r)) {
file_put_contents('$path2, join("n", $r[0]));
}
以上です
------解決策---------
$arr =explode("n " ,$str);
は
$arr = preg_split('/[\r\n]+/',$str); に変更されました。