Ver Mensaje Individual
  #4 (permalink)  
Antiguo 10/04/2011, 09:38
Avatar de Panino5001
Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Codificar los acentos a sus entidades HTML con expresiones regulares

Opino igual que Zerokilled: es mejor hacerlo del lado del servidor. Tampoco deberías estar tan seguro acerca de que hacerlo con expresiones regulares tiene una mejor performance que un loop. Deberías probarlo. Este test muestra que no siempre es así: http://jsperf.com/regex-vs-for-loop/4
Y eso se debe a que internamente los metodos de regexp también realizan búsquedas y usan recursividad. Es interesante estudiar un motor de javascript realizado en algún lenguaje que conozcamos para comprender este tipo de cosas. Por ejemplo: http://j4p5.sourceforge.net/
Si yo tuviera que hacer algo así usaría algo como esto:
Código PHP:
function htmlEntities(texto){
    
//by Micox - elmicoxcodes.blogspot.com - www.ievolutionweb.com
    
var i,carac,letra,novo='';
    for(
i=0;i<texto.length;i++){
        
carac texto[i].charCodeAt(0);
        if( (
carac 47 && carac 58) || (carac 62 && carac 127) ){
            
//se for numero ou letra normal
            
novo += texto[i];
        }else{
            
novo += "&#" carac ";";
        }
    }
    return 
novo;