讓我們來看看我這個在CSV字符串(從捲曲輸出了它):PHP讀取CSV字段包含在該領域新的生產線
"name";"gender";"address";"phone";\n
"John Doe"; "Male"; "Broke Street\n No. 69 South Pole";"911";\n
類似的東西,我用爆炸由線到線,然而有一個字段也使用\ n換行,因此弄亂了我的數組索引。我該如何解決這個問題,任何想法?
讓我們來看看我這個在CSV字符串(從捲曲輸出了它):PHP讀取CSV字段包含在該領域新的生產線
"name";"gender";"address";"phone";\n
"John Doe"; "Male"; "Broke Street\n No. 69 South Pole";"911";\n
類似的東西,我用爆炸由線到線,然而有一個字段也使用\ n換行,因此弄亂了我的數組索引。我該如何解決這個問題,任何想法?
大氣壓林「「; \ n」到「」;#N」或者你喜歡和使用爆炸分裂#N分隔符來獲得每一行別的東西。
我想這就是什麼,我現在的工作。
這是一個嚴重的產生/損壞的.csv,在這種情況下。如果一個字段包含換行符,那麼它應該被"
所包圍,這樣csv解析器就可以告訴線路中斷到開始的新記錄,而不是線路中斷 - 場 - 一個新的分開。
解決什麼正在生成的CSV,而不是試圖去處理它吐出垃圾。
在你的情況,這是一個畸形的CSV。
其實你可以使用preg_match_all來解析該文件,而不關心它是否是一個CSV或沒有。 preg_match('#([^;] +);([^;] +);([^;] +);([^;] +)\ s?#',$ csv_file_content, $匹配);使用str_replace函數來代替
編輯我得到的具有雙引號的實際csv內容。 – Ardeus