Archive for January, 2009

Manejo de cadenas en PHP.

El manejo de cadenas de texto es algo que tarde o temprano nos toca usar en cualquier lenguaje de programacion. Tanto si estas empesando o no recuerdas bien, aca hay un recuento de las funciones mas utilziadas para estos fines.

substr()

Esta cadena devuelve una porción de la cadena de texto. Su sintaxis es la siguiente:
substr(cadena_a_cortar, posicion_inicial, largo_devuelto)
ejemplo:

<?php

$palabra = "Multimedia";
$palabra2 = substr($palabra, 2, 3);
echo "<p>$palabra2</p>";

//Esto devolvería la cadena "lti".
?>

No hay que olvidar que las cadenas en PHP son un arreglo unidimensional donde el primer elemento tiene el subindice 0, que en nuetro caso es la posición.

El tercer argumento (largo) es opcional, y en ese caso la cadena devuelta es toda la cadena a partir de la pocición indicada en la función substr(). Ejemplo:

<?php

$palabra = "Multimedia";
$palabra2 = substr($palabra, 2);
echo "<p>$palabra2</p>";

//Lo cual devolvería la cadena "ltimedia".
?>

trim()

La función trim limpia todo los espacios blancos, saltos de carro y tabuladores que hayan a los lados de una cadena de texto. Ejemplo:

<?php
$cadena1 = " La Araucana ";
$cadena2 = trim($cadena1);
echo "<p>$cadena2</p>";
?>

Si se quiere limpiar sólo al final de la cadena se usa la función chop() y si se quiere limpiar los espacios blancos al comienzo se usa la función ltrim()

strlen()

Esta función devuelve el largo de una cadena de texto. Ejemplo:

<?php
$cadena = "Instituto Las Americas";
$largo = strlen($cadena);
echo "<p>$largo</p>";
?>

strtolower() y strtoupper()

Para trasnformar una cadena a puras minúsculas se usa strlower(). Si se queire trasnformar la cacena a mayúsculas se usa strtoupper(). Ejemplo

<?php

$cadena1 = "Computación";
$cadena2 = strtolower($cadena1);
echo "<p>$cadena2</p>";
$cadena3 = strtoupper($cadena1);
echo "<p>$cadena3</p>";

?>

ereg() y eregi()

Estas fuciones sirven para ver si una cadena está dentro dentro de otra.Su sintaxis es:

ereg(cadena_a_buscar, cadena_donde_se_busca)

Por ejemplo:

<?php

$texto1 = "Sacerdotes";
$texto2 = "SACERDOTES";
$buscar = "cerd";

if(ereg($buscar, $texto1)) echo "<p>se ha encontrado la            cadena $buscar en la cadena $texto1</p>";
else echo "<p>no se ha encontrado la cadena $buscar en la            cadena $texto1</p>";

if(ereg($buscar, $texto2)) echo "<p>se ha encontrado la            cadena $buscar en la cadena $texto2</p>";
else echo "<p>no se ha encontrado la cadena $buscar en la            cadena $texto2</p>";

?>

Hay que hacer notar que erg() busca exatamente la cadena que se busca haciendo coincidir mayúsculas y minúsculas. En cambio eregi() busca sin distinguir entre mayúsculas y minñusculas. Ejemplo:

<?php

$texto1 = "Sacerdotes";
$texto2 = "SACERDOTES";
$buscar = "cerd";

if(eregi($buscar, $texto1)) echo "<p>se ha encontrado la            cadena $buscar en la cadena $texto1</p>";
else echo "<p>no se ha encontrado la cadena $buscar en la            cadena $texto1</p>";

if(eregi($buscar, $texto2)) echo "<p>se ha encontrado la            cadena $buscar en la cadena $texto2</p>";
else echo "<p>no se ha encontrado la cadena $buscar en la            cadena $texto2</p>";

?>

ereg_replace() y eregi_replace()

Estas funciones buscan una cadena determinada dentro de otra y la remplazan. Su sintaxis es:

ereg_replace(cadena_a _buscar, reemplazo, cadena_donde_buscar)

Ejemplo:

<?php

$buscar = "Manual";
$reemplazar = "MANUAL";
$cadena1 = "Este es un minimanual de PHP";
$cadena2 = "Este es un miniManual de PHP";
$cadena1 = ereg_replace($buscar, $reemplazar, $cadena1);
echo "<p>$cadena1</p>";
$cadena2 = ereg_replace($buscar, $reemplazar, $cadena2);
echo "<p>$cadena2</p>";

?>

ereg() busca la cadena exacta haciendo coincidir mayúsculas y minúsculas. En cambio eregi_replace() no hace distinción entre mayúsculas y minúscula.
Ejemplo:

<?php

$buscar = "Manual";
$reemplazar = "MANUAL";
$cadena1 = "Este es un minimanual de PHP";
$cadena2 = "Este es un miniManual de PHP";
$cadena1 = eregi_replace($buscar, $reemplazar, $cadena1);
echo "<p>$cadena1</p>";
$cadena2 = eregi_replace($buscar, $reemplazar, $cadena2);
echo "<p>$cadena2</p>";

?>

explode()

Esta función divide una cadena de texto en base a una cadena patrón devolviendo un arreglo constituido por los troxo obtenidos. Su sintaxis es:

explode(cadena_patron, cadena_a_dividir)

Ejemplo:

<?php

$linea = "Walter|Velásquez|98771338|Santiago Amengual 454|";
$datos = explode("|",$linea);

$nombres = $datos[0];
$apellidos = $datos[1];
$telefono = $datos[2];
$direccion = $datos[3];

echo "<p>Nombres: $nombres<br>
Apellidos: $apellidos<br>
Teléfono: $telefono<br>
Dirección: $direccion<br>
</p>";

?>

Flibre, un proyecto para ayudar a los demas.

Saludos, en esta ocasion despues de un rato ya, me encuentro en un nuevo proyecto, esta vez con ayuda de mi amigo Roberto. Estamos almando el Flibre, que sera el software que revolucionara la facturacion en nuestro pais, y si soñamos mas en el mundo completo.

¿Para que sirve?
las respuesta a esto es muy secilla, es un software que tal y como su nombre lo indica es gratuito, por el cual solamente se cobra el servicio de instalacion, la mayor ventaja competitiva con respecto a los demas es que no es ilegal instalarlo si licencia, el rol de la persona que instala es comprobar que todo este listo y bien preparado para usar Flibre. No solo siver para hacer facturas, realiza mucho mas, como inventario,  cuentas por cobrar, cuentas por pagar, contabilidad basica, etc. Estamos trabajando en una nueva version, pa’ pronto.

Si quieren saber mas visiten: flibre.com

Enumeradores en PHP (como en C#)

En el mundo de la programacion los enumeradores son utilizados, para mantener una mayor claridad en el codigo, ya que evitan en tener cosa amarradas a un numero fijo especifico, lo cual hace el codigo mucho mas facil de mantener, pero no me pongo a inventar y le dejo una definicion (tipo microsoft) de que es un enumerador:

La palabra clave enum se utiliza para declarar una enumeración, un tipo distinto que consiste en un conjunto de constantes con nombre denominado lista de enumeradores.

Ejemplo en C#

enum Dias{ Dom = 1, Lun, Mar, Mie, Jue, Vie, Sab};
int x = (int)Dias.Mar;
Console.WriteLine(x);
//Esto produce como salida un 3.

Opcionalmente se puede establecer el orden, pero por defecto se inicia en cero, en el ejemplo anterior se dice que el primer elemento vale 1, los demas toman los valores por secuencia, si no tiene valor predefinido incrementa el valor de su antecesor.

Como PHP, no maneja nativamente el concepto de enumceradores, esta es una manera de implementarlo, aunque no la mejor, pero algo es algo.

Ejemplo de como aplicar lo anterior en php:


$miEnumeradorDias = array ("Dom" => 1, "Lun" => 2, "Mar" => 3, "Mie" => 4, "Jue" => 5, "Vie" => 6, "Sab" => 7);
$d = $miEnumeradorDias ["Mar"];

echo $d;

//Esto produce 3

Otro ejemplo similar:


$otroEnumerador = array("rojo" => 1, "azul" => 2, "amarillo" => 3);
$a = $otroEnumerador["azul"];

echo $a;

//Esto produce 2

Existen otras formas de emular los enumeradores, pero mientras esta me saco del apuro que tenia. Luego con tiempo vere si implemento la solucion planteada aca:

http://it.toolbox.com/blogs/macsploitation/enums-in-php-a-native-implementation-25228

Configurando….. mi blog

Aqui estoy, configurando el blog, luego de haber borrado (ya no voy a actualizar mas) el hi5, el facebook y el sonico. Mi blog 2.0.  Talvez dirian que paso te llenaste de odio con las redes sociales, en cierta forma si, ya que cada dia sale una nueva y hay cuchumil contactos diciendo agregame como amigo, ya no iva a para otra mas, mejor concentro mis energias en mi propio blog personal, quien quiera saber de Amadis que entre a adamix.net. Usare las redes sociales como link a mi blog.

Ademas de esto, necesitaba una web personal, como profesional de la informatica, necesito una oficina en internet donde pueda dar a conocer ideas, novedades, proyectos entre otros.

Espero dar lo mejor de mi en esto, no cansarme, dedicarle un poquito de mi tiempo y gracias a ti por leer el post.