Вы можете использовать preg_match_all
для извлечения данных из тегов MSG
, используя это регулярное выражение:
\[\s*MSG\s*=\s*'\s*([^,]+),\s+comment:\s+([^,]+),\s+userid: ([^']+)'\s*\]
, которое захватывает все после '
до первого ,
в группе 1 ; затем все после comment:
до следующего ,
в группе 2 и все после userid:
до закрытия '
в группе 3. В PHP:
preg_match_all("/\[\s*MSG\s*=\s*'\s*([^,]+),\s+comment:\s+([^,]+),\s+userid: ([^']+)'\s*\]/", $string, $matches);
foreach (array_keys($matches[0]) as $key) {
echo "{$matches[1][$key]},{$matches[2][$key]},{$matches[3][$key]}\n";
}
Выход:
user1,253434,1232
user2,343425,4231
user3,234345,1423
user4,253434,123242
user5,251234,1652
Демонстрация на 3v4l.org