Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/05/2006, 10:06
yconoclasta
 
Fecha de Ingreso: febrero-2005
Mensajes: 135
Antigüedad: 19 años, 2 meses
Puntos: 0
Pregunta Cambiar todos los acentos de una página con una funcion

Saludos:

Estoy realizando una página en Esperanto. Dicho idioma tiene caracteres poco difundidos con los alfabetos tradicionales y que en ocaciones no son reconocidos si el navegador no tiene soporte unicode.

Por esta razón existen alternativas en el mismo idioma para escribir dichos caracteres como por ejemplo: ĉ se escribe cx, ĝ se escribe gx, etc.

Es algo parecido a los acentos en el francés.

En algunas páginas hechas en este idioma se ponen diversas maneras de mostrar la página para aquellos que no tengan la opción de ver en su computadora unicode. Pero, para esto se realizan dos versiones de la misma página en html.

Lo que deseo es poder con un script convertir al vuelo los caracteres de toda la página completa que no son reconocibles y sustituirlos por el caracteres reconocibles. ¿Me explico?

Por ejemplo el siguiente párrafo:

Ho, mia kor'! Post longa laborado
ĉu mi ne venkos en decida hor'?
Sufiĉe! trankviliĝu de l' batado,
ho, mia kor'!

Al aprentar un botón que cambie toda la página con un script a:

Ho, mia kor'! Post longa laborado
cxu mi ne venkos en decida hor'?
Suficxe! trankviligxu de l' batado,
ho, mia kor'!

Ya tengo un script que cambia lo que se escribe en una caja input de manera automática con la función onkeyup:
Código PHP:
function xAlUtf8(t) {
  if (
document.getElementById("x").checked) {
    
t.replace(/c[xX]/g"\u0109");
    
t.replace(/g[xX]/g"\u011d");
    
t.replace(/h[xX]/g"\u0125");
    
t.replace(/j[xX]/g"\u0135");
    
t.replace(/s[xX]/g"\u015d");
    
t.replace(/u[xX]/g"\u016d");
    
t.replace(/C[xX]/g"\u0108");
    
t.replace(/G[xX]/g"\u011c");
    
t.replace(/H[xX]/g"\u0124");
    
t.replace(/J[xX]/g"\u0134");
    
t.replace(/S[xX]/g"\u015c");
    
t.replace(/U[xX]/g"\u016c");
    if (
!= document.getElementById("q").value) {
      
document.getElementById("q").value t;
    }
  }
}

<
input type="text" onkeyup="xAlUtf8(this.value)" /> 
Pero necesito que se aplique a toda la página sin el input y que además puede alternar entre con acentos y sin acentos.

¿Se puede o estoy delirando?
¿Es mejor con PHP?

Gracias.