php - 在csv php中转义换行符

标签 php csv

我有一个 .csv 模板,希望人们填写、保存并上传。

问题是这样的,假设一些用户会在一行中插入隐藏换行符,当使用 fgetcsv() 时它会输出被隐藏换行符打断的行。

如何避免换行符或清理我的数据?

可能的解决方案:

假设第一行是正确的,$count = 计算分隔符的个数直到换行,将文本重建成数组只要$count;

但我认为还有更好的选择。

后期编辑

这是输入*重要[! ] :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] => ) 

谢谢

最佳答案

如果字段被正确引用,测试您的案例并查看没有断行非常容易。

所以,像这样的 CSV 行

1,"joe
""Big Coyote""
Hopkins",598600

将毫无问题地阅读。

关于php - 在csv php中转义换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7711589/

相关文章:

java - 我们如何使用 Java 代码将 XML 文件转换为 CSV?

javascript - 我可以将 JavaScript 变量传递给 PHP 以用作 cURL 函数的 URL 吗?

php - 如何从另一台 PC 访问我的 Laravel 应用程序?

php - 实现支持多种登录方式的User类

php - 使用 shell_exec 或 exec 作为不同的 unix 用户?

php 错误列计数与第 1 行的值计数不匹配?

vb.net - 如何在 Vb.Net 中使用 streamwriter 从字符串变量创建 csv 文件?

powershell - PowerShell删除或跳过CSV中的列

php - 加载数据本地INFILE - 结果错误

c++ - 将 qresource QFile 与 FILE 一起使用