Função para retirar os acentos do texto
Esta é uma pequena e simples função php que retira os acentos e os caracteres especiais de uma string.
function SemAcento($str){
$enc = 'UTF-8';
$acentos = array(
'A' => '/À|Á|Â|Ã|Ä|Å|Λ/',
'a' => '/à|á|â|ã|ä|å|ª/',
'C' => '/Ç/',
'c' => '/ç/',
'D' => '/Δ|Ð/',
'E' => '/È|É|Ê|Ë/',
'e' => '/è|é|ê|ë|&/',
'I' => '/Ì|Í|Î|Ï|Ι/',
'i' => '/ì|í|î|ï/',
'K' => '/Κ/',
'k' => '/κ/',
'N' => '/Ñ/',
'n' => '/ñ/',
'O' => '/Ò|Ó|Ô|Õ|Ö/',
'o' => '/ò|ó|ô|õ|ö/',
'S' => '/Š/',
'U' => '/Ù|Ú|Û|Ü/',
'u' => '/ù|ú|û|ü/',
'Y' => '/Ý|Ÿ/',
'y' => '/ý|ÿ/',
'_' => '/ /',
'' => '/Æ|´|æ|ℵ|α|&|∧|å|≈/',
'' => '/Β|„|¦|•/',
'' => '/Χ|¸|¢|χ|ˆ|♣|≅|©|↵|∪|¤/',
'' => '/‡|Δ|†|⇓|↓|°|δ|♦|÷/',
'' => '/Ð|Ε|Η|∅| | |ε|≡|η|ð|€|∃/',
'' => '/ƒ|∀|½|¼|¾|⁄/',
'' => '/Γ|γ|≥|>|⇔|↔|♥|…/',
'' => '/Ι|¡|ℑ|∞|∫|ι|¿|∈|ï/',
'' => '/Λ|⇐|λ|⟨|«|←|⌈|“|≤|⌊|∗|◊|‎|‹|‘|</',
'' => '/Μ|¯|—|µ|·|−|μ/',
'' => '/Ν|∇|–|≠|∋|¬|∉|⊄|ν/',
'' => '/Œ|Ω|Ο|Ø|œ|‾|ω|ο|⊕|∨|ª|º|ø|⊗/',
'' => '/Φ|Π|″|Ψ|¶|∂|‰|⊥|φ|π|ϖ|±|£|′|∏|∝|ψ/',
'' => '/"/',
'' => '/Ρ|⇒|√|⟩|»|→|⌉|”|”|ℜ|®|⌋|ρ|‏|›|’/',
'' => '/Σ|‚|š|⋅|§|­|σ|ς|∼|♠|⊂|⊃|¹|²|³|⊇|ß/',
'' => '/Þ|Τ|∴|θ|ϑ| |þ|˜|×|™/',
'' => '/Υ|⇑|ϒ|↑|υ/',
'' => '/Ξ|ξ|℘|¥|Ζ|ζ|‍|‌/',
'' => '/\!|\?|\#|\%|\&|\*|\(|\)|\,|\:|\;|\=|\+|\./'
);
return preg_replace($acentos, array_keys($acentos), htmlentities($str,ENT_NOQUOTES, $enc));
}