php 写入csv时 双引号,逗号及特殊字符

1.双引号 

<?php
function new_csv($string)
{
    $filename = date('Ymd').'.csv'; //设置文件名
    header("Content-type:text/csv");
    header("Content-Disposition:attachment;filename=".$filename);
    header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
    header('Expires:0');
    header('Pragma:public');
    echo $string;
}

$str = 'a,b,c,d,"e"'."\n".'a,b,c,d,e'."\n";
new_csv($str);
View Code

下载内容为

 

我们发现csv自动忽略了双引号 。那么我想要展示怎么办呢?

<?php
function new_csv($string)
{
    $filename = date('Ymd').'.csv'; //设置文件名
    header("Content-type:text/csv");
    header("Content-Disposition:attachment;filename=".$filename);
    header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
    header('Expires:0');
    header('Pragma:public');
    echo $string;
}

$str = 'a,b,c,d,"""e"""'."\n".'a,b,c,d,e'."\n";
new_csv($str);
View Code

在将每个" 替换为3个就行 

2.逗号及其他字符 

如果遇到逗号会自动分割,此时我们只需要将该数据直接用双引号包起来就行了 ,因为csv是会忽略双印号的 

注:虽然csv自动忽略双引号,但是如果你用notepad打开该csv文件,还是会看到 

 

转载于:https://www.cnblogs.com/paopao123/p/10725682.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值