2013-02-23 47 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

相关问题