Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mzaidan

Função retira acento

Recommended Posts

Pessoal,

 

Como eu implemento isso:

 

<html>

<script language="JavaScript">

function retira_acentos(palavra) {

com_acento = "áàãâäéèêëíìîïóòõôöúùûüçÁÀÃÂÄÉÈÊËÍÌÎÏÓÒÕÖÔÚÙÛÜÇ";
sem_acento = "aaaaaeeeeiiiiooooouuuucAAAAAEEEEIIIIOOOOOUUUUC";
nova = "";

for(i=0;i<palavra.length;i++) {
   if (com_acento.search(palavra.substr(i,1))>=0)
       nova += sem_acento.substr(com_acento.search(palavra.substr(i,1)),1);
   else 
       nova += palavra.substr(i,1);
}
document.form.Sacento.value = nova;
}

</script>

<a href="http://www.google.com.br/joão">Google</a>
</html>

 

Eu quero que ao digitar vá para a URL:

 

http://www.google.com.br/joao

 

Tem como?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu quero que ao digitar vá para a URL:

ao digitar onde ?

Compartilhar este post


Link para o post
Compartilhar em outros sites
use o Responder Azul respondery.png

ou a 'Resposta Rápida'.

você pode fazer uma função, que pegue o array de retorno de getElementsByTagName('a'), e reescreva o atributo .href de cada link, para a versão sem acento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caracas, eu sei nem para onde vai isso.

Tem alguma função dessas pronta por ai??

 

Saca meu problema, talvez haja alguma forma mais simples:

 

http://lojavirtual.moskaurbana.com.br/loja01/

 

É um script pronto, ele carrega os dados pelo php, trata em uma classe, e joga na tela em HTML.

 

Nesse site, se eu clicar em Óculos, vai para a url óculos, sendo bad request.

 

No código:

 

<li class="%%GLOBAL_LastChildClass%%"><a href="%%GLOBAL_CategoryLink%%">%%GLOBAL_CategoryName%%</a>

%%GLOBAL_SubCategoryList%%

</li>

 

Ai queria implementar isso, qual a melhor solução?

 

Dei uma viajada aqui, mas pode ser que dê certo:

 

Tem como eu já chamar uma função dentro do a href?

 

Tipo <a href=retirAcento('www.google.com.br/joão')a>

 

Essa não deu certo, mas tem como algo parecido dar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha no html gerado:

 

<td><a href="http://lojavirtual.moskaurbana.com.br/loja01/categoria/INFORM%C1TICA/" class="BorderLeft">INFORMÁTICA</a></td> 

 

ou seja, o server-side já está gerando errado.

não vai adiantar(ou vai ser muito dificil), de tratar com javascript.

 

não tem como mesmo você corrigir no php isso ?

de onde vem o GLOBAL_CategoryLink ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, esse GLOBAL_CategoryLink vem de uma classe gigante que eu não sei mexer.

 

Mas veja o seguinte:

 

<script language="javascript">  
function retirarAcento(objResp) {  
var varString = new String(objResp.value);  
var stringAcentos = new String('àâêôûãõáéíóúçüÀÂÊÔÛÃÕÁÉÍÓÚÇÜ');  
var stringSemAcento = new String('aaeouaoaeioucuAAEOUAOAEIOUCU');  

var i = new Number();  
var j = new Number();  
var cString = new String();  
var varRes = '';  

for (i = 0; i < varString.length; i++) {  
cString = varString.substring(i, i + 1);  
for (j = 0; j < stringAcentos.length; j++) {  
if (stringAcentos.substring(j, j + 1) == cString){  
cString = stringSemAcento.substring(j, j + 1);  
}  
}  
varRes += cString;  
}  
objResp.value = varRes;  
}  
</script>  

<form>  
<input type="text" name="Teste" onChange="javascript:retirarAcento(this);">  
</form> 

[b]<a href="javascript:onClick='retirarAcento(http://www.google.com.br/joão)'">João</a>[/b]

 

Se houver alguma forma de fazer, ao clicar no a href, ele mandar sem acento, eu acho que resolveria

 

Veja no link:

http://lojavirtual.moskaurbana.com.br/loja02/teste.htm

 

No input funciona, sai sem acento.

Se eu conseguir fazer com que mesmo recebendo com acento, ao clicar passe sem acento, acho que resolveria.

 

Alguém??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou tentando o seguinte (Apenas para testar, se der certo eu implemento):

 

<script language="javascript">  

function retira_acentos(palavra) {
com_acento = 'áàãâäéèêëíìîïóòõôöúùûüçÁÀÃÂÄÉÈÊËÍÌÎÏÓÒÕÖÔÚÙÛÜÇ';
sem_acento = 'aaaaaeeeeiiiiooooouuuucAAAAAEEEEIIIIOOOOOUUUUC';
nova='';
for(i=0;i<palavra.length;i++) {
if (com_acento.search(palavra.substr(i,1))>=0) {
nova+=sem_acento.substr(com_acento.search(palavra.substr(i,1)),1);
}
else {
nova+=palavra.substr(i,1);
}
}
return nova;
}

function link(){

var linking = retira_acentos('http://www.google.com.br/joão');
location.href = linking;

}
</script>  


<a href="javascript:link();">João</a>

 

Acontece que ao invés de apenas retirar os acentos, está abrindo a url: http://wwwagoogleacomabr/joao

 

Qual meu erro???

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.