我有什么:
解析用户CSV文件的一个小型应用程序。文件中的数据包括一个字段,其中包含HTML代码。它被"。
"封装。有些行没有标签。我的目标是有标记的行,并保存一个带有行号的变量,以便以后可以编辑它。
。Item 837, Description, "<h1>HTML code</h1><br/><h2>eh<h2>", Some Other Data, "Tag 1"
我使用http://maatwebsite.nl/laravel-excel使用phpexcel
我的问题
Shopify要求所有字段不能用双引号括起来;
当我解析数组时,在HTML代码中找到的每一个'r'n 'n处,它将跳转到一个新的数组条目。
我想要的
解析CSV数据,得到像
这样的数组[id] => 12,
[tags] => "tag 1, tag 2",
[body] => "<html></html>",
[variable] => description text,
导出时,我希望数据在记事本
中显示如下所示 12, "tag 1, tag 2", "<html></html>", description text,,,,,,,,
What I have try
将laravelexcel enclosure设置为nothing,这会导致混乱。当HTML代码中出现换行符(LF)时,解析器将跳转到新行。
尝试使用file_get_contents和str_replace将'r'n替换为空,以便LaravelExcel不会像疯了一样跳来跳去。没有工作,因为我需要的HTML格式保持不变。
尝试使用
Config::set('excel.csv.enclosure', '"');
进口,Config::set('excel.csv.enclosure', '');
出口。导出文件全乱了
我决定继续使用PHPExcel来解析CSV数据,因为它使用行框"
和分隔符,
提供了一个可组织的数组。
然而,在导出文件时,我放弃了PHPExcel类,而是使用fopen()和fwrite()将数组中的所有内容解析为Shopify/csv格式。with lots of preg_match &if语句,例如如果字段包含逗号,则用"
将其括起来。