miércoles, 26 de febrero de 2014

char_replace() Javascript - reemplazar caracteres mediante arrays


Bienvenid@s, a continuación os muestro una función que puede ser muy útil para ir reemplazando los caracteres de un string ...

char_replace(array _search, array _replace, string  _string);

Puede realizar en cierto grado la misma labor que la función str_replace() de PHP, en cuanto permite arrays en los parámetros search y replace, por ejemplo, se puede dar el caso de que quieras reemplazar caracteres extraños de un string ...

string = "<script>alert('XSS');</script>";
buscar = ['<', '>'];
reemplazar = ['', ''];
alert(char_replace(buscar, reemplazar, string));

En este caso, los signos menor que y mayor que serán reemplazados por su correspondiente carácter de reemplazo, en este caso, valores vacíos.

A continuación podéis obtener el código de la función y un ejemplo ...

char_replace = function(_search, _replace, _string)
{
_string = _string.split('');
for(x=0; x<_string.length; x++)
{
for(y=0; y < _search.length; y++)
{
_string[x] = _string[x].replace(_search[y], _replace[y]);
}
}
return _string.join('');
}


buscar = ['<','>', '\'', '"'];
reemplazar = ['', '', '', ''];
document.write(char_replace(
buscar,
reemplazar,
'<script>alert("hola mundo");</script>'
)
);

//Resultado: scriptalert(hola mundo);/script