我想解析並通過Blackberry Messenger生成的CSV文件創建單個文件。如何在PHP中解析Blackberry Messenger CSV?
一個例子:
BlackBerry Messenger,6.0.0.129CRLF
201112071323251405361,"2732E6DB ","555ABCDA",TextData TextData TextData TextDataCRLF
201112071323253558103,"555ABCDA","2732E6DB ",TextData TextData TextDataCRLF
201112071323253746576,"2732E6DB ","555ABCDA",TextData TextData TextData
LF
TextData TextDataLF
TextData TextData TextData TextData TextData TextData TextData TextData TextDataLF
TextData TextData TextData TextDataCRLF
201112071323253809444,"2732E6DB ","555ABCDA", TextData TextData TextData TextDataCRLF
201112091323441592335,"2732E6DB ","555ABCDA", TextData TextDataLF
LF
<3<3=.>:O :s=.>=) <3<3=.>:O :s=.>=)LF
LF
- Copy all smiley aboveLF
- pasteLF
- erase 4 dotLF
- send me backLF
- see the magic (smiley change)LF
CRLF
正如你可以看到CSV文件格式如下
Date,SendersPIN,ReceiversPIN,MessageText
日期是YYYYMMDD +紀元格式。 每條記錄都以CRLF(回車換行符)字符結尾,而MessageText中的每一行都以LF(換行符)字符分隔。
正如你所看到的問題是MessageText不包含在任何容器中,它可能有許多新行。所以我不能直接導入到Excel中。
就文件操作而言,我會認爲自己是PHP的初學者,所以如果可能的話嘗試描述代碼。
謝謝。
這是一個棘手的問題。 'fgetcsv'不起作用,因爲該消息也使用逗號,並將其作爲分隔符讀取。使用'fgets'逐行讀取,然後以逗號分隔('explode')不能正常工作,因爲消息會溢出到下一行。 – xbonez