脚本宝典收集整理的这篇文章主要介绍了php – 如何解析包含数据中的换行符的Excel数据?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我的主要问题是编写一段可以逐行拆分数据的代码,但也可以识别不应该使用数据中的换行符.此字段中的换行符未正确转义,因此很难与合法的换行符区分开来.
我试图想出一个能够正确处理它的正则表达式,但到目前为止还没有运气.有任何想法吗?
CSV格式:
"####","text data here","text data \n wITh linebreaks \n here"\n "####","more text data","more data \n with \n linebreaks \n here"\n
function csvstring_to_array(&$string,$CSV_SEPARATOR = ';',$CSV_ENCLOSURE = '"',$CSV_LINEBREAK = "\n") { $o = array(); $cnt = strlen($string); $esc = false; $escesc = false; $num = 0; $i = 0; while ($i < $cnt) { $s = $string[$i]; if ($s == $CSV_LINEBREAK) { if ($esc) { $o[$num] .= $s; } else { $i++; break; } } elseif ($s == $CSV_SEPARATOR) { if ($esc) { $o[$num] .= $s; } else { $num++; $esc = false; $escesc = false; } } elseif ($s == $CSV_ENCLOSURE) { if ($escesc) { $o[$num] .= $CSV_ENCLOSURE; $escesc = false; } if ($esc) { $esc = false; $escesc = true; } else { $esc = true; $escesc = false; } } else { if ($escesc) { $o[$num] .= $CSV_ENCLOSURE; $escesc = false; } $o[$num] .= $s; } $i++; } // $string = substr($string,$i); return $o; }
看起来它会成功.
以上是脚本宝典为你收集整理的php – 如何解析包含数据中的换行符的Excel数据?全部内容,希望文章能够帮你解决php – 如何解析包含数据中的换行符的Excel数据?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。