Files
tcpserver-flow/app/net/parsers/WiredReaderParser.php
T
2026-03-08 22:58:56 +08:00

30 lines
720 B
PHP

<?php
namespace app\net\parsers;
use app\net\parsers\PacketParserInterface;
/**
* 有线读卡器报文解析器(长度20)
*/
class WiredReaderParser implements PacketParserInterface
{
public function supports(string $hexString): bool
{
return strlen($hexString) === 20;
}
public function parse(string $hexString): array
{
$pattern = '/(09[a-fA-F0-9]{8})([a-fA-F0-9]{10})/';
if (preg_match($pattern, $hexString, $matches)) {
return [
'hexType' => 1,
'isMatched' => true,
'reader' => $matches[1],
'card' => $matches[2],
];
}
return ['isMatched' => false];
}
}