我想用html格式的textarea来获取分隔数据
例如: 简单数据如下
testA@testa.com peter USA
testB@testB.com Tony USA
testC@testC.com tom USA
testA@testa.com peter USA
testA@.com peter USA
问题是:
如何检查每条线的结束位置? (\ n)的
如何进行重复检查(仅适用于电子邮件)? (如果每行3个数据,得到1,4,7,11 ......数据和array_unique?)
我应该限制分词符号还是我要自动检查?
如果空间是分隔符,但同时我的其他数据,例如。使用空间,例如托尼汉克斯?
感谢您提供任何帮助
答案 0 :(得分: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
如果空间是分隔符,但同时我的其他数据,例如。使用空间,例如Tony Hanks?
在这种情况下,您需要使用引号。如果没有引号,Excel也无法处理。
如何进行复制检查(仅适用于电子邮件)?
创建密钥是电子邮件的数组。迭代解析后的csv并检查是否已设置密钥。