如何使用文本区域获取csv文件/分隔数据


How to use a textarea to get the csv file /delimited data?

我想使用html格式的文本区域来获取分隔数据

例如:简单的数据如下

testA@testa.com peter USA 
testB@testB.com Tony USA 
testC@testC.com tom USA 
testA@testa.com peter USA
testA@.com peter USA

问题是:

  1. 如何检查每条线的终点在哪里?(''n)?

  2. 如何进行重复检查(仅适用于电子邮件)?(如果每行有3个数据,则获得1,4,7.11…数据,并且数组唯一?)

  3. 我应该限制分母符号还是自动检查?

  4. 如果空间是分母,但同时我的其他数据,例如,正在使用空间,例如,托尼·汉克斯?

感谢您的任何帮助

首先,我将按行结束拆分字符串:

$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

如果空间是分母,但同时我的其他数据,例如,正在使用空间,例如,托尼·汉克斯?

在这种情况下,您需要使用引号。Excel在没有引号的情况下也无法处理此问题。

如何进行重复检查(仅适用于电子邮件)?

创建关键字为电子邮件的数组。遍历已解析的csv并检查密钥是否已设置。