【发布时间】:2012-09-06 16:14:37
【问题描述】:
我的问题很简单:我有一个文本文件,我处理并插入数据库中的所有数据,并为每个新行处理它。问题是文本文件是在我的网关中接收到的短信的日志,并且根据正在发送的文本,我将有一行对应于每个短信。如果 SMS 在其正文中没有任何新行,则一切正常,另一方面,如果 SMS 是这样发送的:
"Test
TestOnANewLine"
我得到一个中断的日志文件,每次都换行。示例如下:
2012-01-01 10:10:10,4C64DCD6.req,192.168.999.999,+12223334444,OK -- SMPP - 999.999.999.999:9999,SubmitUser=user;Sender=sender;SMSCMsgId=999999999;Text="Test1
NewLineTest
AnotherNEwLineTEst"
日志文件解释如下:
date time, smsid, ip that processed it, number that is being sent to, status --connection type - ip that is sent from, user that submitted; sender name that is displayed; sms connection id; body of the sms
至于我使用 PHP 的语言和使用的函数,它很简单
foreach($lines as $line)
{ explode and do stuff }
我该如何处理这种情况?在这一点上,任何帮助表示赞赏
提前致谢!!
【问题讨论】:
-
如果 SMS 包含
"字符会怎样?这如何与现场引用进行转义/区分? -
这就是问题所在,它可能在正文中有一个 " 字符。
-
@gjermani 请不要编辑您的问题以包含答案。您可以为自己的帖子创建一个答案,以与 Stackoverflow 的问答格式保持一致。
-
@MathieuImbert 谢谢你的提示,完成了:) 正如你所见,我在这里很新
-
@gjermani 没问题。我对您的编辑进行了回滚,并改进了您答案中的格式。您可以使用 4 个空格缩进来格式化代码块,而不是使用
`和<br>标记。
标签: php mysql file text newline