$this->processJsonArray($value), 'json_array_int' => $this->processJsonArrayInt($value), 'json_array_lines' => $this->processJsonArrayLines($value), default => $value, }; } /** * "a, b, c" -> ["a", "b", "c"] */ private function processJsonArray(string $value): string { $items = array_map('trim', explode(',', $value)); $items = array_filter($items, fn($item) => $item !== ''); return json_encode(array_values($items), JSON_UNESCAPED_UNICODE); } /** * "1, 2, 3" -> [1, 2, 3] */ private function processJsonArrayInt(string $value): string { $items = array_map('trim', explode(',', $value)); $items = array_filter($items, 'is_numeric'); $items = array_map('intval', $items); return json_encode(array_values($items)); } /** * Lineas separadas -> array */ private function processJsonArrayLines(string $value): string { $items = preg_split('/\r\n|\r|\n/', $value); $items = array_map('trim', $items); $items = array_filter($items, fn($item) => $item !== ''); return json_encode(array_values($items), JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); } }