2012-03-20 79 views
1

我想用一個textarea的HTML表單獲得分隔的數據如何使用textarea獲取csv文件/分隔數據?

例如: 簡單的數據就像下面

[email protected] peter USA 
[email protected] Tony USA 
[email protected] tom USA 
[email protected] peter USA 
[email protected] peter USA 

的問題是:

  1. 如何檢查每行的結束位置? (\ n)的?

  2. 如何進行重複檢查(僅適用於電子郵件)? (如果每行3個數據,得到1,4,7,11 ...數據和array_unique?)

  3. 我應該限制deliminator符號還是自己做一些檢查?

  4. 如果空間不足,但同時我的其他數據如。正在使用例如空間託尼漢克斯?

謝謝你的任何形式的幫助

回答

1

首先,我會用線分割字符串結尾:

$r = explode(PHP_EOL, $data); //data is your raw data from textarea 

要檢查分隔符,由是可能的所有分隔符和檢查爆炸第一線數組數。

foreach(array(' ', ';', '/') as $delimiter) { 
    $x = explode($delimiter, r[0]); 
    if(count($x) == 3) { 
    break; 
    } 
} 

與原始數據STR-getcsv在使用正確的分隔符後:http://www.php.net/manual/en/function.str-getcsv.php

什麼如果空間deliminator,但同時我的其他數據,例如。正在使用例如空間託尼漢克斯?

在這種情況下,您需要使用引號。 Excel也不能處理這個沒有引號。

如何進行重複檢查(僅適用於電子郵件)?

創建數組,其中鍵是電子郵件。遍歷解析的csv並檢查key是否已設置。

相關問題