y > 1) return $str . $diff->y . ' years'; if ($diff->y == 1) return $str . ' 1 year and ' . $diff->m . ' months'; if ($diff->m > 1) return $str . $diff->m . ' months'; if ($diff->m == 1) return $str . ' 1 month and ' . $diff->d . ($diff->d > 1 ? ' days' : ' day'); if ($diff->d > 1) return $str . $diff->d . ' days'; if ($diff->d == 1) return $str . ' 1 day and ' . $diff->h . ($diff->h > 1 ? ' hours' : ' hour'); if ($diff->h > 1) return $str . $diff->h . ' hours'; if ($diff->h == 1) return $str . ' 1 hour and ' . $diff->i . ($diff->i > 1 ? ' minutes' : ' minute'); if ($diff->i > 1) return $str . $diff->i . ' minutes'; if ($diff->i == 1) return $str . ' 1 minute'; return $str . ' a few secondes'; } function arrayclean($input) { $output = []; foreach ($input as $key => $value) { if (is_array($value)) { $output[$key] = array_filter($value); } else { $output[$key] = $value; } } return $output; } function idclean(string $input) { $input = urldecode($input); $search = ['é', 'à', 'è', 'ç', 'ù', 'ï', 'î', ' ']; $replace = ['e', 'a', 'e', 'c', 'u', 'i', 'i', '-']; $input = str_replace($search, $replace, $input); return preg_replace('%[^a-z0-9-_+]%', '', strtolower(trim($input))); } function array_update($base, $new) { foreach ($base as $key => $value) { if (array_key_exists($key, $new)) { if (gettype($base[$key]) == gettype($new[$key])) { $base[$key] = $new[$key]; } } } return $base; } function contains($needle, $haystack) { return strpos($haystack, $needle) !== false; } function str_clean(string $string) { return str_replace(' ', '_', strtolower(strip_tags($string))); } function changekey($array, $oldkey, $newkey) { if (!array_key_exists($oldkey, $array)) return $array; $keys = array_keys($array); $keys[array_search($oldkey, $keys)] = $newkey; return array_combine($keys, $array); } ?>