我有一个.csv模板,希望人们填写、保存并上传它。
问题在于,假设一些用户在一行中插入了隐藏的换行符,当使用fgetcsv()时,它会输出被隐藏的换行符所分隔的行。
如何转义换行符或净化数据?
可能的解决方案:
假设第一行是正确的,$count = 计算分隔符数量直到换行符,然后将文本重新构建为一个与$count长度相同的数组;
但我认为会有更好的选择。
后来编辑:
这是输入 *IMPORTANT[ ! ]: 表格中的数据是“fine”,没有损坏,只有一行!将其保存为CSV文件并在记事本中打开,显示如下:
这里是回显的数据。
问题在于,假设一些用户在一行中插入了隐藏的换行符,当使用fgetcsv()时,它会输出被隐藏的换行符所分隔的行。
如何转义换行符或净化数据?
可能的解决方案:
假设第一行是正确的,$count = 计算分隔符数量直到换行符,然后将文本重新构建为一个与$count长度相同的数组;
但我认为会有更好的选择。
后来编辑:
这是输入 *IMPORTANT[ ! ]: 表格中的数据是“fine”,没有损坏,只有一行!将其保存为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] => )
谢谢