cascade()->forHumans(); } } // 获取系统设置 if (! function_exists('sysConfig')) { function sysConfig(?string $key = null, ?string $default = null): array|string|null { return $key ? config("settings.$key", $default) : config('settings'); } } // Array values and indexes clean if (! function_exists('array_clean')) { function array_clean(array &$array): array { foreach ($array as $key => &$value) { if (is_array($value)) { $value = array_clean($value); } if (empty($value)) { unset($array[$key]); } } return $array; } } // string url safe sanitize if (! function_exists('string_urlsafe')) { function string_urlsafe($string, $force_lowercase = true, $anal = false): string { $clean = preg_replace('/[~`!@#$%^&*()_=+\[\]{}\\|;:"\'<>,.?\/]/', '_', strip_tags($string)); $clean = preg_replace('/\s+/', '-', $clean); $clean = ($anal) ? preg_replace('/[^a-zA-Z0-9]/', '', $clean) : $clean; if ($force_lowercase) { $clean = function_exists('mb_strtolower') ? mb_strtolower($clean, 'UTF-8') : strtolower($clean); } return $clean; } }