您可以使用wireshark从udp数据包复制字节数据。
它产生这样的数据
00f00: 21 00 d2 0c 17 ca d9 2f fe 40 be 01 00 37 fa 83 !....../.@...7..
00f09: 21 00 d2 0c 17 ca d9 2f fe 40 be 01 00 37 fa 83 !....../.@...7..
00f10: 2c b3 bd a2 ,...
如何使用 php regex 从此文本表中获取数组(21 00 d2 0c 17 ca d9 2f fe 40 be 01 00 37 fa 83 2c b3 bd a2
)中的所有字节? (从每一行到单个php数组的字节,甚至更好地进入 string )
我不仅要解析wireshark数据(所以关于字节(Offset Hex)的建议不起作用)
答案 0 :(得分:2)
我认为一个简单的解决方案是将字符串操作与简单的正则表达式结合起来,如下所示:
$output = '';
foreach( explode( "\n", $input) as $line) {
if( preg_match( '/(?:[a-f0-9]{2}\s){1,16}/i', $line, $matches)) {
$output .= ' ' . $matches[0];
}
}
$output = trim( $output);
var_dump( $output);
这outputs:
string(109) "21 00 d2 0c 17 ca d9 2f fe 40 be 01 00 37 fa 83 21 00 d2 0c 17 ca d9 2f fe 40 be 01 00 37 fa 83 2c b3 bd a2"