<?php
$re = '`([^\s=/]+/[^\s=]+)=(.*?)(?=\h+[^\s=/]+/|$)`';
$str = 'ALARM_ID/I4=1010001 ALARM_STATE/U4=eventcode ALARM_TEXT/A=WMR_MAP_EXPORT LOTS/A[1]=[ STEFANO ] ALARM_STATE/U1=1 WAFER/U4=1 VI_KLARF_MAP/A=/test/klarf.map KLARF_STEPID/A=StepID KLARF_DEVICEID/A=DeviceID KLARF_EQUIPMENTID/A=EquipmentID KLARF_SETUP_ID/A=SetupID RULE_ID/U4=1234 RULE_FORMULA_EXPRESSION/A=a < b && c > d RULE_FORMULA_TEXT/A=1 < 0 && 2 > 3 RULE_FORMULA_RESULT/A=FAIL TIMESTAMP/A=10-Nov-2020 09:10:11 99999999
';
preg_match_all($re, $str, $matches);
$result = array_combine($matches[1], $matches[2]);
print_r($result);
- Output for 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.13
- Array
(
[ALARM_ID/I4] => 1010001
[ALARM_STATE/U4] => eventcode
[ALARM_TEXT/A] => WMR_MAP_EXPORT
[LOTS/A[1]] => [ STEFANO ]
[ALARM_STATE/U1] => 1
[WAFER/U4] => 1
[VI_KLARF_MAP/A] => /test/klarf.map
[KLARF_STEPID/A] => StepID
[KLARF_DEVICEID/A] => DeviceID
[KLARF_EQUIPMENTID/A] => EquipmentID
[KLARF_SETUP_ID/A] => SetupID
[RULE_ID/U4] => 1234
[RULE_FORMULA_EXPRESSION/A] => a < b && c > d
[RULE_FORMULA_TEXT/A] => 1 < 0 && 2 > 3
[RULE_FORMULA_RESULT/A] => FAIL
[TIMESTAMP/A] => 10-Nov-2020 09:10:11 99999999
)
preferences:
143.32 ms | 409 KiB | 5 Q