slug($delimiter); } } if (! function_exists('str_first_sentence')) { function str_first_sentence($str) { // Split the string at ., !, or ? $sentences = preg_split('/(\.|!|\?)(\s|$)/', $str, 2); // Return the first part of the array if available if (isset($sentences[0])) { return trim($sentences[0]); } // If no sentence ending found, return the whole string return $str; } } if (! function_exists('is_empty')) { /** * A better function to check if a value is empty or null. Strings, arrays, and Objects are supported. * * @param mixed $value */ function is_empty($value): bool { if (is_null($value)) { return true; } if (is_string($value)) { if ($value === '') { return true; } } if (is_array($value)) { if (count($value) === 0) { return true; } } if (is_object($value)) { $value = (array) $value; if (count($value) === 0) { return true; } } return false; } } if (! function_exists('get_country_name_by_iso')) { function get_country_name_by_iso($country_iso) { if (! is_empty($country_iso)) { $country_iso = strtoupper($country_iso); try { return config("platform.country_codes.{$country_iso}")['name']; } catch (\Exception $e) { } } return 'International'; } } if (! function_exists('get_country_emoji_by_iso')) { function get_country_emoji_by_iso($country_iso) { if (! is_empty($country_iso)) { $country_iso = strtoupper($country_iso); try { return config("platform.country_codes.{$country_iso}")['emoji']; } catch (\Exception $e) { } } return '🌎'; } } if (! function_exists('str_random')) { function str_random($length = 10) { return Str::random($length); } }