in:
mysql dönüşüde aşağıdaki gibi olması lazım.
1 satır : user1
2 satır : 4c: 5e: 0c: 0c: 0c: 0c
3 satır : 192.168.1.5:47694
4 satır : 74.125.154.73:443
5 satır : 123.123.123.123:15400
6 satır : 74.125.154.73:443
parse işlemi hakkında |
4 Mesajlar | 506 Okunma |
$text = "in: out: vlan1, src-mac 4c: 5e: 0c: 0c: 0c: 0c, proto TCP (ACK), 192.168.1.5:47694->74.125.154.73:443, NAT (192.168.1.5 : 47694-> 123.123.123.123:15400) -> 74.125.154.73:443, len 52";
$a = explode(',', $text);
$line1 = str_replace('in: $line1 = str_replace('> out: vlan1', '', $line1);
$line2 = str_replace('src-mac ', '', $a[1]);
$input= 'in: out: vlan1, src-mac 4c: 5e: 0c: 0c: 0c: 0c, proto TCP (ACK), 192.168.1.5:47694->74.125.154.73:443, NAT (192.168.1.5 : 47694-> 123.123.123.123:15400) -> 74.125.154.73:443, len 52';
$pattern = '/(user[0-9])(.+)(([0-9]{1}[a-z]{1}:? ?){6})(.+)(\(ACK\), )(([0-9\.]+:[0-9]+)->([0-9\.]+:[0-9]+))(.+)( NAT \()(([0-9\.]+ : [0-9]+)(->) ([0-9\.]+:[0-9]+))(\) -> )([0-9\.]+:[0-9]+)/';
preg_match_all($pattern, $input, $matches);
print_r($matches);
echo '#0'.PHP_EOL;
echo "1. satır : {$matches[1][0]}".PHP_EOL;
echo "2. satır : {$matches[3][0]}".PHP_EOL;
echo "3. satır : {$matches[8][0]}".PHP_EOL;
echo "4. satır : {$matches[9][0]}".PHP_EOL;
echo "5. satır : {$matches[15][0]}".PHP_EOL;
echo "5. satır : {$matches[17][0]}".PHP_EOL;
echo PHP_EOL;
echo '#1'.PHP_EOL;
echo "1. satır : {$matches[1][0]}".PHP_EOL;
echo "2. satır : {$matches[3][0]}".PHP_EOL;
echo "3. satır : {$matches[7][0]}".PHP_EOL;
$re = str_replace(' : ', ':', $matches[12][0]);
echo "4. satır : ({$re}) -> {$matches[17][0]}".PHP_EOL;