Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Shopify的CSV解析_Php_Laravel_Csv_Phpexcel - Fatal编程技术网

Php Shopify的CSV解析

Php Shopify的CSV解析,php,laravel,csv,phpexcel,Php,Laravel,Csv,Phpexcel,我所拥有的: 解析用户CSV文件的laravel应用程序。文件中的数据包含一个字段,其中包含HTML代码。它被封装为” 有些行没有标记。我将有标记的行作为目标,并用行号保存一个变量,以便以后编辑 例如,项目837,说明,“HTML代码eh”,一些其他数据,“标记1” 我使用的是使用PHPExcell的 我的问题 Shopify要求所有字段不要用双引号括起来;只用于HTML代码和标记字段 当我解析数组时,在HTML代码中找到的每一个\r\n\n处,它都会跳转到一个新的数组条目中 我想要什么 将CS

我所拥有的:

解析用户CSV文件的laravel应用程序。文件中的数据包含一个字段,其中包含HTML代码。它被封装为”

有些行没有标记。我将有标记的行作为目标,并用行号保存一个变量,以便以后编辑

例如,
项目837,说明,“HTML代码
eh”,一些其他数据,“标记1”

我使用的是使用PHPExcell的

我的问题

  • Shopify要求所有字段不要用双引号括起来;只用于HTML代码和标记字段

  • 当我解析数组时,在HTML代码中找到的每一个\r\n\n处,它都会跳转到一个新的数组条目中

  • 我想要什么

    将CSV数据解析为数组形式,如

    [id] => 12,
    [tags] => "tag 1, tag 2",
    [body] => "<html></html>",
    [variable] => description text,
    
    [id]=>12,
    [标签]=>“标签1,标签2”,
    [正文]=>“”,
    [变量]=>描述文本,
    
    导出时,我希望数据在记事本中显示为这样

    12,“标记1,标记2”,描述文本,,,,,,,,

    我尝试过的

  • 将LaravelExcell enclosure设置为nothing会导致混乱。每当HTML代码中出现换行符(LF)时,解析器就会跳入新行

  • 尝试使用file\u get\u contents和str\u replace来替换\r\n为空,这样LaravelExcel就不会像疯了一样到处乱跳。没有成功,因为我需要HTML的格式保持不变

  • 尝试使用
    Config::set('excel.csv.enclosure','”)
    Config::set('excel.csv.enclosure',''在导出时。导出文件都搞砸了


  • 我决定继续使用PHPExcel来解析CSV数据,因为它提供了一个可组织的数组,使用了行enclosure
    和分隔符


    然而,在导出文件时,我放弃了PHPExcel类,而是使用fopen()和fwrite()将数组中的所有内容解析为Shopify/csv格式。使用大量preg_match&if语句,例如如果字段包含逗号,则会用
    将其括起来。”

    我决定继续使用PHPExcel解析CSV数据,因为它提供了一个可组织的数组,使用了行存储模块
    和分隔符


    然而,在导出文件时,我放弃了PHPExcel类,而是使用fopen()和fwrite()将数组中的所有内容解析为Shopify/csv格式。使用大量preg\u match&if语句,例如如果字段包含逗号,则会用

    将其括起来,然后尝试通过
    $csv=array\u map将其加载到数组中('str_getcsv',file('data.csv'));
    应该更容易使用。html字段中的行\r\n仍然会跳转到下一个数组。这真的很烦人。您考虑过使用吗?尝试通过
    $csv=array\u map('str_getcsv',file('data.csv')将其加载到数组中;
    应该更容易使用。html字段中的\r\n行仍然可以跳转到下一个数组。这真让我恼火。您考虑过使用吗?