fgetcsv不是正确的拆分数据

时间:2013-07-17 10:55:09

标签: php csv reference fgetcsv addslashes

我正在导入csv文件以将数据上传到数据库。但在某些产品中,描述并未正确完成。 描述就好像

  

TSD / UHC型号UG-132,6“带塑料外壳的气体左轮手枪。外壳:   MUG131& MUG131BRASS。含有.20g BBS的290-320 FPS。

法律   免责声明

限制条件:您必须年满18周岁   订购此产品。在某些地区,州和地方法律进一步   限制或禁止销售和拥有本产品。在   订购此产品,即表示您确认您已年满18周岁   购买此产品符合您所在司法辖区的法律要求   产品。

警告:此产品可能被误认为是   执法人员或其他人的枪支,并改变其颜色   或者公开品牌产品可能被视为犯罪。

但是当我打印fgetcsv数组时,它会在不同的数组中显示此描述,如。

  

[2] => TSD / UHC型号UG-132,6“带塑料外壳的气体左轮手枪。   壳:MUG131& MUG131BRASS。 290-320 FPS,含.20g BBS。法律   声明

     

限制:您必须年满18岁才能订购此产品。在一些   领域[3] =>州和地方法律进一步限制或禁止   销售和拥有此产品。在订购此产品时[4] =>   你证明你至少18岁并且满足你的要求   司法管辖区购买本产品的法律要求   警告:执法部门可能会将此产品误认为枪支   官员或其他人[5] =>并改变其颜色或挥舞着   公开产品可能被视为犯罪。

我还有更多带有反斜杠,单引号和双引号的产品。其他一些产品上传得当,但有些产品有问题。

由于

2 个答案:

答案 0 :(得分:1)

fgetcsv($handle, 0, ",", '"', '""');

答案 1 :(得分:0)

尝试

fgetcsv($handle, 0, ",", '"', '\\');

使用逗号(,)作为分隔符,除非它是包含在“;和if”中的字段的一部分,在字段中显示为字符,必须使用\

进行转义

如果逗号不是分隔符,则需要使用适当的分隔符