Archivo

Archivo para la Categoría "PHP"

Obtener cotización del dolar y euro en php

14 marzo 2012 Deja un comentario

Sabiendo que las cotizaciones cambian a diario sería muy complicado guardarla en una base de datos y modificar su valor a mano.

Estuve buscando y encontré una alternativa que nos permite obtener automáticamente las cotizaciones actuales.

Es muy util sobre todo si necesitamos realizar algún cálculo.  A continuación el código:

<?php

function obtener_cotizacion()

{

// URL banco nacion

$url = “http://www.bna.com.ar/bp/bp_cotizaciones.asp?op=m”;

// regexp para buscar los valores

$regexp = ‘/<td align=”center”>([0-9]\.[0-9]{4})<\/td>/’;

// cache de n * 60 segundos, ajustable… 6 horas en este caso

$cache_time = 6 * 60 * 60; // archivo de cache de divisas

$cache_file = ‘divisas.cache.txt’;

if ( file_exists($cache_file) && time() – $cache_time < filemtime($cache_file) )

{

$cache = file_get_contents($cache_file); $datos = unserialize($cache); return $datos;

}

else

{

$html = file_get_contents($url);

if (preg_match_all($regexp, $html, $matches))

{

$valores['dolar_compra'] = $matches[1][0];

$valores['dolar_venta'] = $matches[1][1];

$valores['libra_compra'] = $matches[1][2];

$valores['libra_venta'] = $matches[1][3];

$valores['euro_compra'] = $matches[1][4];

$valores['euro_venta'] = $matches[1][5];

$serialized = serialize($valores);

$fh = fopen($cache_file, ‘w+’);

if($fh)

{

fwrite($fh, $serialized); fclose($fh);

}

return $valores;

}

else

return FALSE;

}

}

$divisas = obtener_cotizacion();

?>

Espero que les sirva.

Fuente: http://blitux.tumblr.com/post/160194151/obtener-cotizacion-del-dolar-y-euro

Categorías:PHP Etiquetas:

Limpiar string de caracteres no deseados en PHP

30 junio 2011 Deja un comentario

En algunos casos necesitamos limpiar caracteres indeseados en una cadena de caracteres. Es muy útil si queremos por ejemplo limpiar el título de un articulo para luego generar URLs amigables, entre otras cosas.

En el ejemplo que les mostraré a continuación vamos a hacer lo siguiente:
1) reemplazamos las letras acentuadas por las que están sin acentuar utilizando arrays y la función str_replace.
2) Convertimos toda la cadena a letras minúsculas con la función strtolower.
2) Finalmente buscamos los caracteres no deseados y los reemplazamos por “” (vacio). La expresión regular ‘[^A-Za-z0-9_-]‘ significa que se buscarán los caracteres que NO son: de la A a la Z, de la a a la z, del 0 al 9 y guiones.

utf8_encode($titulo);
$a = array(‘á’,'é’,'í’,'ó’,'ú’,'à’,'è’,'ì’,'ò’,'ù’,'ä’,'ë’,'ï’,'ö’,'ü’,'â’,'ê’,'î’,'ô’,'û’,'ñ’,'ç’,’ ‘);
$b = array(‘a’,'e’,'i’,'o’,'u’,'a’,'e’,'i’,'o’,'u’,'a’,'e’,'i’,'o’,'u’,'a’,'e’,'i’,'o’,'u’,'n’,'c’,'-’);
$titulo = str_replace($a, $b, $titulo);
$titulo = strtolower($titulo);
$titulo = ereg_replace(‘[^A-Za-z0-9_-]‘, ”, $titulo);

Categorías:PHP
Seguir

Get every new post delivered to your Inbox.