Skip to content

Instantly share code, notes, and snippets.

@renie
Created May 23, 2012 16:42
Show Gist options
  • Save renie/2776282 to your computer and use it in GitHub Desktop.
Save renie/2776282 to your computer and use it in GitHub Desktop.
Function to remove some special unicode chars of an unique string or a strings array
private function _semAcentos($string, $returnFormat = 1){
if(is_array($string)){
for($i=0; $i<count($string); $i++){
$string[$i] = preg_replace("/[áàâãª]/u","a",$string[$i]);
$string[$i] = preg_replace("/[ÁÀÂÃ]/u","A",$string[$i]);
$string[$i] = preg_replace("/[éèê]/u","e",$string[$i]);
$string[$i] = preg_replace("/[ÉÈÊ]/u","E",$string[$i]);
$string[$i] = preg_replace("/[íìî]/u","i",$string[$i]);
$string[$i] = preg_replace("/[ÍÌÎ]/u","I",$string[$i]);
$string[$i] = preg_replace("/[óòôõº]/u","o",$string[$i]);
$string[$i] = preg_replace("/[ÓÒÔÕ]/u","O",$string[$i]);
$string[$i] = preg_replace("/[úùû]/u","u",$string[$i]);
$string[$i] = preg_replace("/[ÚÙÛ]/u","U",$string[$i]);
$string[$i] = str_replace("ç","c",$string[$i]);
$string[$i] = str_replace("Ç","C",$string[$i]);
if($returnFormat == 1 || $returnFormat > 3 || $returnFormat < 1 || is_nan($returnFormat)){
$string[$i] = strtolower($string[$i]);
}else if($returnFormat == 2){
$string[$i] = strtoupper($string[$i]);
}else{
$string[$i] = ucwords($string[$i]);
}
}
}else{
$string = preg_replace("/[áàâãª]/u","a",$string);
$string = preg_replace("/[ÁÀÂÃ]/u","A",$string);
$string = preg_replace("/[éèê]/u","e",$string);
$string = preg_replace("/[ÉÈÊ]/u","E",$string);
$string = preg_replace("/[íìî]/u","i",$string);
$string = preg_replace("/[ÍÌÎ]/u","I",$string);
$string = preg_replace("/[óòôõº]/u","o",$string);
$string = preg_replace("/[ÓÒÔÕ]/u","O",$string);
$string = preg_replace("/[úùû]/u","u",$string);
$string = preg_replace("/[ÚÙÛ]/u","U",$string);
$string = str_replace("ç","c",$string);
$string = str_replace("Ç","C",$string);
if($returnFormat == 1 || $returnFormat > 3 || $returnFormat < 1 || is_nan($returnFormat)){
$string = strtolower($string);
}else if($returnFormat == 2){
$string = strtoupper($string);
}else{
$string = ucwords($string);
}
}
return $string;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment