2013-02-23 49 views
0

好吧我想調用某個txt文件,然後使用循環,然後檢查內容讓我們說,如果前八個單詞設置它應該如何,如果它是一個實際的電子郵件地址等等等等....我需要通過循環+數組打開一個文件,然後使用preg_match檢查內容如何?

我沒有那麼多,因爲我完全卡住,但是這是我現在....

$fileContents = file("./aaa/aaa.txt); 

foreach($fileContents as $row) 
{ 

} 

完全沒有太多.....因爲我完全糊塗了.... 讓我們說,這是aaa.txt這是什麼裏面

a456789,baloney,tony,[email protected] 
a221111,lasty,firsty,[email protected] 

但我必須再檢查第一部分是否以一個確切的6個數字開頭,並且沒有更多或更少,並檢查電子郵件是否有效......如電子郵件包含[email protected]

任何人都可以給我一個線索,一隻手還是幫幫我吧?

在此先感謝....

+0

如果是CSV語法然後使用PHP的'fgetcsv()'函數來逐行閱讀。然後你可以在每一行上應用一個帶有模式提取的正則表達式。你_really_應該開始閱讀關於php的文檔... – arkascha 2013-02-23 07:25:06

回答

1
foreach ($fileContents as $i => $row) { 
    $cols = explode(',', rtrim($row, "\r\n")); 
    if (!(preg_match('/^a\d{6}$/', $cols[0]) && preg_match('/^[-._a-z0-9][email protected][-.a-z0-9]+$/', $cols[3]) { 
    echo "Bad line #".$i.": ".$row; 
    } 
} 
+0

我仍然是一個菜鳥...讓我消化:P – Dora 2013-02-23 07:41:59

+0

電子郵件的RE是不是做了非常完整的驗證。如果你搜索,你應該能夠找到更好的。這只是表示一般結構。 – Barmar 2013-02-23 07:43:25

+0

什麼是RE和SO? – Dora 2013-02-23 08:08:31

相關問題