160, 'email' => 254, 'company' => 200, 'phone' => 60, 'message' => 10000, 'source' => 160] as $field => $limit) { $raw = $input[$field] ?? ($field === 'source' ? 'audit' : ''); if (!is_string($raw) || !mb_check_encoding($raw, 'UTF-8')) { $errors[$field] = 'Wpisz poprawną wartość.'; $values[$field] = ''; continue; } $value = trim(str_replace(["\r\n", "\r"], "\n", $raw)); $values[$field] = $value; if (mb_strlen($value) > $limit || preg_match('/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/', $value)) { $errors[$field] = 'Przekroczono limit długości lub użyto niedozwolonych znaków.'; } elseif (in_array($field, ['name', 'email', 'message'], true) && $value === '') { $errors[$field] = 'To pole jest wymagane.'; } } if (!filter_var($values['email'], FILTER_VALIDATE_EMAIL)) { $errors['email'] = 'Wpisz poprawny adres e-mail.'; } $values['consent'] = ($input['consent'] ?? null) === '1' ? '1' : ''; if ($values['consent'] === '') { $errors['consent'] = 'Zgoda na kontakt w sprawie zapytania jest wymagana.'; } return [$values, $errors]; } }