<?php
// Função para remoção de qualquer tipo de acentuação e retirada de caracteres especiais para criação de urls amigaveis
// Autor Ryumaru
function removeAcentos($string, $slug = false) {
// Caracteres a serem mantidos so que decodificados
$table = array(
'Š'=>'S', 'š'=>'s', 'Đ'=>'Dj', 'Ž'=>'Z', '.'=>' ',
'ž'=>'z', 'Č'=>'C', 'č'=>'c', 'Ć'=>'C', 'ć'=>'c',
'À'=>'A', 'Á'=>'A', 'Â'=>'A', 'Ã'=>'A', 'Ä'=>'A',
'Å'=>'A', 'Æ'=>'A', 'Ç'=>'C', 'È'=>'E', 'É'=>'E',
'Ê'=>'E', 'Ë'=>'E', 'Ì'=>'I', 'Í'=>'I', 'Î'=>'I',
'Ï'=>'I', 'Ñ'=>'N', 'Ò'=>'O', 'Ó'=>'O', 'Ô'=>'O',
'Õ'=>'O', 'Ö'=>'O', 'Ø'=>'O', 'Ù'=>'U', 'Ú'=>'U',
'Û'=>'U', 'Ü'=>'U', 'Ý'=>'Y', 'Þ'=>'B', 'ß'=>'Ss',
'à'=>'a', 'á'=>'a', 'â'=>'a', 'ã'=>'a', 'ä'=>'a',
'å'=>'a', 'æ'=>'a', 'ç'=>'c', 'è'=>'e', 'é'=>'e',
'ê'=>'e', 'ë'=>'e', 'ì'=>'i', 'í'=>'i', 'î'=>'i',
'ï'=>'i', 'ð'=>'o', 'ñ'=>'n', 'ò'=>'o', 'ó'=>'o',
'ô'=>'o', 'õ'=>'o', 'ö'=>'o', 'ø'=>'o', 'ù'=>'u',
'ú'=>'u', 'û'=>'u', 'ý'=>'y', 'ý'=>'y', 'þ'=>'b',
'ÿ'=>'y', 'Ŕ'=>'R', 'ŕ'=>'r',
);
// Traduz os caracteres em $string, baseado no vetor $table
$string = strtr($string, $table);
// Converte para minúsculo
$string = strtolower($string);
// Remove caracteres indesejáveis (que não estão no padrão)
$string = preg_replace("/[^a-z0-9_\s-]/", "", $string);
// Remove múltiplas ocorrências de hífens ou espaços
$string = preg_replace("/[\s-]+/", " ", $string);
// Faz a retirada de espaços multiplos no texto para evitar que a url fique com mais de uma hifen entre os espaçamentos
$string = trim($string);
// Transforma espaços e underscores em $slug
$string = preg_replace("/[\s_]/", $slug, $string);
// retorna a string
return $string;
}
// Puxa a função para realizar seu funcionamento
echo 'http://m...content-available-to-author-only...e.com/'.removeAcentos('Testando com 18 espaçamentos ....... função de criação de URL amigaveis em PHP versão 2.0 atual com coreções de caracteres como estes que não vao aparecer no código no resultado = *~|•√π÷×§Δ£¢€¥^°±\©®™℅[]¡¿-+()<>=:!? @#$%¨&* em geral com a retirada total de todo ou qualquer caractere invalido existente nesta texto que ira virar URL de site vai la com espaço novamente com mais, com um espaço grande ao lado aqui agora ', '-');
?>
Link oficial: https://ideone.com/QUGuYW