Función (14)


Tildes en Javascript

Para mostrar tildes y otros carácteres especiales con javascript, por ejemplo en un alert() hay que hacerlo en unicode. En Nice entity hay una lista de conversión entre carácteres especiales y su versión en HTML y unicode.

Por ejemplo, á en unicode sería \u00e1, de manera que es prácticamente imposible recordar todos los carácteres, por eso lo más lógico es hacer una función que nos los convierta, así podemos escribir con los carácteres que queramos sin preocuparnos de la codificación, y luego aplicar la función.




Base64 (encode y decode) en Javascript

Me he pasado un rato buscando alguna función para codificar y decodificar (que no encriptar) cadenas de texto en base64, de la misma forma que lo haría en PHP.

Nota: No utilizar esto para «ofuscar» las contraseñas o cualquier otro dato importante, hay que tener en cuenta que cualquiera puede decodificar una cadena en base64. Lo correcto es usar algoritmos como md5 que no se pueden desvelar tan fácilmente (que yo sepa, sólo es posible con fuerza bruta).

En PHP es algo así:

<?PHP
$cadena = base64_encode('w00t');
echo $cadena; # dzAwdA==
$cadena = base64_decode('dzAwdA==');
echo $cadena; # w00t
?>

Y en Javascript, con el código que pondré a continuación, sería algo así:

<script>
var cadena = Base64.encode('w00t');
alert(cadena); // dzAwdA==
var cadena = Base64.decode('dzAwdA==');
alert(cadena); // w00t
</script>



Enviar el log de errores de PHP por email

Tener noticias de los errores que puedan surgir en una web, sobretodo cuando acaba de ser puesta en producción y necesita una atención especial para confirmar que todo funciona bien, o cuando se acaba de realizar algún cambio en el servidor, puede ser un punto muy importante.

Para recibir los errores por email, hay que hacer dos cosas:




Obtener la URL que se esta visitando con PHP

Con esta función, se puede saber la URL que se está visitando… y no hay nada más que decir, sólo la función y un ejemplo.

function selfURL(){
   $s        = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
   $protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s;
   $port     = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
   return $protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI'];
}
function strleft($s1, $s2){
   return substr($s1, 0, strpos($s1, $s2));
}

En realidad son dos, pero van juntas. Y para usarla es bastante sencillo.

echo selfURL(); /* http://www.emm-gfx.net/2010/02/obtener-la-url-que-se-esta-visitando-con-php/ */

Puede no parecer demasiado util, pero a mi me ha venido bien varias veces.