public static function cleanString($string, $keepMultipleUnderscores = true)
{
$cleanedString = preg_replace('/[^\\p{L}\\p{N}_]/u', '_', $string);
if (!$keepMultipleUnderscores) {
$cleanedString = preg_replace('/[_]+/', '_', $cleanedString);
}
return $cleanedString;
}