我有一些来自phpsocket_receive函数的数据;It’是这样的:
ZC* |000195000000B5D0|0000|PTv1.11|ZE20S|ProBee-ZE ZR |000195000000920A|A4C0|PTv1.11|ZE20S|ProBee-ZE OK
从这个开始,我只需要像这样的mac地址:"000195000000B5D0"
- 我想在回车处分解整个消息,''r''n然后在|处再次拆分每一行,并将地址插入数据库行
我正在尝试使用这个代码:
<?php
$out = socket_recv($socket, $buf, 2048, MSG_WAITALL);
echo "<br>MESAJ=".$buf;
$row=preg_split('#('r'n|['|])#', $buf);
print_r($row);
?>
在以前的桌面应用程序上的vb.net中,我使用了这段代码。
Private Sub SalveazaData()
Dim list As String() = rtbComData.Text.Split(Environment.NewLine.ToCharArray())
For Each Row As String In list
If Not (Row = "AT+DSCAN=10,2" Or Row = "OK" Or Row = "") Then
Dim s As String() = Split(Row, "|")
Dim aRow As smdDataDataSet1.smdTableRow = SmdDataDataSet1.smdTable.NewsmdTableRow()
aRow.Model = "SCL-50"
aRow.AdresaUnica = s(1)
aRow.StatusModul = "ACTIVE"
Try
SmdDataDataSet1.SearchAdrese.Rows.Add(s(1))
SmdDataDataSet1.smdTable.Rows.Add(aRow)
Catch ex As Exception
Dim u As String
u = SmdTableTableAdapter.UpdateInactivActiv()
End Try
End If
Next
End Sub
你能帮我做这个吗?谢谢
数据很长,有数百个地址,但使用此代码可以在回车时拆分''n''r:
MESAJ FROM=".$buf;$row=爆炸("''r''n",$buf);echo"
ROW="$行[0];echo"
ROW="$行[1];?>我得到这样的信息:
- ROW=ZC*|000195000000B5D0|0000|PTv1.11|ZE20S|ProBee ZE
- ROW=ZR|000195000000920A|A4C0|PTv1.11|ZE20S|ProBee ZE
现在我只需要保存数据库中每一行的|000195000000B5D0|(地址)。我该怎么做?
我用这个代码回答我的问题
// connect to server
$result = socket_connect($socket, $host, $port) or die("Could not connect to IP'n");
//send data to connected socket
socket_write($socket, $message, strlen($message)) or die("Could not send data to server'n");
echo "<br>MESAJ TO :".$message;
// get server response
$out='';
socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array("sec"=>10, "usec"=>0));
$out = socket_recv($socket, $buf, 2048, MSG_WAITALL);
echo "<br>MESAJ FROM=".$buf;
$row=explode("'r'n", $buf);
echo "<br>ROW=".$row[0];
echo "<br>ROW=".$row[1];
foreach ($row as &$s) {
$s = explode("|",$s);
echo $s[0];
echo $s[1];
echo $s[2];
$adresaUnica=$s[1];
if(mysql_query("INSERT INTO `griddata`(`adresaUnica`, `status`, `model`) VALUES ('$adresaUnica','Activ','SCL-50')"))
{
}
}
socket_close($socket);
}?>