['regexp' => self::$base64_regex]]) === false) { $result = false; } else { $decoded = base64_decode($value, true); if (empty($decoded)) { // Invalid _or_ empty string $result = false; } elseif (base64_encode($decoded) !== $value) { $result = false; } } if ($result === false) { throw new InvalidArgumentException(sprintf( $message ?: '\'%s\' is not a valid Base64 encoded string', $value, )); } return $value; } }