【发布时间】:2011-10-10 10:39:19
【问题描述】:
我有一个 .csv 模板,希望人们填写、保存并上传。
问题是这样的,假设一些用户会在一行中插入隐藏的换行符,当使用 fgetcsv() 时,它会输出被隐藏换行符打破的行。
如何避免换行符或清理我的数据?
可能的解决方案:
假设第一行是正确的,$count = count 分隔符的个数直到换行,只要 $count 将文本重建成一个数组;
但我认为有更好的选择。
稍后编辑
这是输入 *IMPORTANT[ ! ] : excel 文件里面的数据是“好的”,没有坏,是单行!!!将其保存为 csv 文件并在记事本中打开显示以下内容
asd;"asd
asd
asd";asd;asd
这是代码
$handle = fopen("file.csv","r");
$data = fgetcsv($handle,";");
while($data = fgetcsv($handle)) {
$array = explode(";",$data[0]);
print_r($array);
}
fclose($handle);
这是回显的数据
Array ( [0] => asd [1] => "asd ) Array ( [0] => asd ) Array ( [0] => asd" [1] => asd [2] => asd [3] => )
谢谢
【问题讨论】:
-
“隐藏行”是什么意思?
-
打开一个excel文件并输入一些东西,然后按alt+enter然后输入更多的东西
-
@christi ...然后将此文件保存为 csv 格式并使用 fgetcsv() 读取它。惊讶吗?你想象中的断行都在哪里?