lote14 0 Denunciar post Postado Setembro 16, 2011 Fala pessoal estou precisando de uma ajudinha. Tenho essa função em ASP 3.0 que formata um link com o título da página: Tipo: www.site.com.br/o-titulo-da-pagina.html Ela retira caracteres especias da string, subtitui palavras acentuadas,etc... 'formata titulo para url amigavel Function FormataUrl(ByVal Texto) If (Mid(Texto,Len(Texto),1) = " ") Then Texto = Mid(Texto,1,Len(Texto)-1) End if FormataUrl = Replace(Replace(LCase(Texto), " ", " "), "\'", "") FormataUrl = Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(FormataUrl, " ", "-"), "á", "a"), "é", "e"), "í", "i"), "ó", "o"), "ú", "u"), "ã", "a"), "â", "a"), "à", "a"), "ê", "e"), "ô", "o"), "ç", "c"), "/", ""), "'", ""), """", ""), "[", ""), "]", ""), "&", "-"), "#", ""), "+", ""), "{", ""), "}", ""), "ù", "u"), "ò", "o"), ".", ""), "?", ""), "!", ""), ":", ""), "´", ""), "`", ""), "õ", "o"), "\", "") FormataUrl = Replace(Replace(Replace(FormataUrl, "û", "u"), "¢", "c"), "¡", "i") FormataUrl = Replace(Replace(Replace(FormataUrl, "£", "e"), "¤", ""), "¥", "y") FormataUrl = Replace(Replace(Replace(FormataUrl, "¦", ""), "ª", "a"), "æ", "ae") FormataUrl = Replace(Replace(Replace(Replace(FormataUrl, "ë", "e"), "ì", "ì"), "ð", "o"), "Ä", "a") FormataUrl = Replace(Replace(Replace(Replace(FormataUrl, "ñ", "n"), "ø", "o"), "ý", "y"), " ", " ") FormataUrl = Replace(Replace(Replace(Replace(FormataUrl, "þ", "p"), "€", "e"), "ÿ", "y"), "²", "z") FormataUrl = Replace(FormataUrl, "%", "") FormataUrl = Replace(FormataUrl, "---", "-") End Function Tenho ela em um site feito em ASP e uso o filtro IsapiRewrite... Estou com um sistema em PHP e gostaria de fazer o mesmo, para isso preciso de uma função parecida com esta. Alguém tem alguma dica ou um link onde possa encontrar. Tentei transformar esta função ASP em PHP mas não tive êxito, me compliquei com algumas funções...replace=str_replace,Len=strlen...não consegui. Algúem poderia me ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Setembro 17, 2011 <?php class SEO_URL{ static function Filter( $str ) { return str_replace( array( ' ', ' ', '/', '~', 'á', 'é', 'í', 'ó', 'ú', 'â', 'ê', 'î', 'ô', 'û', 'à', 'è', 'ì', 'ò', 'ù', 'ã', 'õ', 'ç', 'ñ', 'Á', 'É', 'Í', 'Ó', 'Ú', 'Â', 'Ê', 'Î', 'Ô', 'Û', 'À', 'È', 'Ì', 'Ò', 'Ù', 'Ã', 'Õ', 'Ç', 'Ñ' ) // original ,array( '_', '_', '-', '_', 'a', 'e', 'i', 'o', 'u', 'a', 'e', 'i', 'o', 'u', 'a', 'e', 'i', 'o', 'u', 'a', 'o', 'c', 'n', 'A', 'E', 'I', 'O', 'U', 'A', 'E', 'I', 'O', 'U', 'A', 'E', 'I', 'O', 'U', 'A', 'O', 'C', 'N' ) // substituto ,$str ); } static function Strip( $str ) { return self::Filter( trim( substr( $str, 0, 140 ) ) ); } } echo SEO_URL::Strip( 'aqui o texto' ); ?> Compartilhar este post Link para o post Compartilhar em outros sites
lote14 0 Denunciar post Postado Setembro 17, 2011 Cara perfect! Simples e eficiente. Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Setembro 18, 2011 Apenas um complemento, Esse trecho: return self::Filter( trim( substr( $str, 0, 140 ) ) ); No ASP seria a função mid() http://msdn.microsoft.com/en-us/library/wffts6k3 O valor 140, representa o limite máximo de caracteres. É útil para evitar extrapolar o limite da URL, que é de 255 caracteres. De modo geral, deixo configurado em 120 ~ 140. No entanto, você deve definir de acordo com as suas necessidades. Compartilhar este post Link para o post Compartilhar em outros sites
Dii 15 Denunciar post Postado Setembro 18, 2011 Muito bom @hinom. Vou passar a adotar isso em minhas Classes. Ideia sensacional. Compartilhar este post Link para o post Compartilhar em outros sites
lote14 0 Denunciar post Postado Setembro 19, 2011 vou até comentar esta classe para não esquecer. //O valor 140, representa o limite máximo de caracteres. valeu camarada! Compartilhar este post Link para o post Compartilhar em outros sites