Artículos para la categoría <<Diseño Web>>

La diseñadores web han lidiado desde siempre con la lacra de no tener la suficiente libertad a la hora de elegir las tipografías de una página web. Se limitaban a optar por fuentes estándar, como arial, trebuchet, times... o a usar apaños con javascript o flash para incluir alguna tipografía que los sistemas no tenían por defecto.

Con CSS3 llegó @font-face, una propiedad muy útil para definir en una página web fuentes que el usuario no tenga instaladas en su sistema. Si bien CSS3, y por consiguiente @font-face, sólo está implementada en los navegadores más modernos (Safari 3+ y 4+, Firefox 3.5, e Internet Explorer 7+). Desde mi punto de vista no es una solución a corto plazo, pero sin duda se terminará implantando cuando la mayoría de usuarios cuenten con versiones actualizadas de sus navegadores.

Google al rescate

Ayer Google presentó su directorio de fuentes libres que podremos definir en cualquiera de nuestras web. La cantidad de fuentes aún es limitada, pero con total seguridad que ira creciendo con el tiempo. Qué tal si vemos su uso:

Comenzaré con la manera más limpia de utilizar Google Font. Abrimos nuestra hoja de estilos e introducimos un par de líneas para importar y definir la fuente "Reenie Beanie":

@import url('http://fonts.googleapis.com/css?family=Reenie+Beanie');
 
h1 {
font-family: 'Reenie Beanie', "Trebuchet MS", Tahoma, Arial;
}
 

La otra manera, que considero menos limpia y elegante, es introduciendo una línea en nuestro documento HTML y definir la fuente en nuestro CSS.

link href="http://fonts.googleapis.com/css?family=Reenie+Beanie" rel="stylesheet" type="text/css" /
h1 {
font-family: 'Reenie Beanie', "Trebuchet MS", Tahoma, Arial;
}

Para usar otra fuente debemos sustituir el valor del parámetro “family” de la url de importación, Reenie+Benie en éste ejemplo, por el de la fuente que vamos a usar y posteriormente definirla. Por supuesto puedes usar fuentes en cualquier otra etiqueta, clase o identificador.

Mi blog personal puede servir de ejemplo. He usado esta técnica para mejorar el formato de los texto. yonerocha.net

Actualización: He leído en unijimpe que podemos importar varias tipografías en una misma llamada de la API, separando el nombre de cada fuente con "|".

Ejemplo: http://fonts.googleapis.com/css?family=Lobster|Cantarell

Habitualmente, para el envío de correo con PHP se utiliza la función mail(), integrada en el propio lenguaje. Sí bien la función cumple con su cometido, son notorias sus limitaciones.

PHPMailer es una clase que cubre las carencias de mail() y facilita el uso de propiedades avanzadas en el envío de correos. Por ejemplo, permite ficheros adjuntos o utilizar un servidor SMTP con autenticación. Gracias a esta última característica podremos enviar correos desde nuestra cuenta Gmail y evitar la instalación de un servidor de correo.

El primer paso para usar PHPMailer es descargar la clase de sourceforge. Nos encontraremos con dos archivos que debemos instanciar en nuestro código, class.phpmailer.php con la clase y class.smtp.php, opcional para utilizar servidores SMTP.

Empezamos con un ejemplo simple usando Sendmail:

require 'class.phpmailer.php';
 
$mail = new PHPMailer();
 
$mail->IsSendmail();//usamos Sendmail, también podemos usar mail() con isMail()
 
$mail->FromName = 'Juan Palomo';
$mail->From = 'remitente@dominio.com';//email de remitente desde donde se envía el correo.
 
$mail->AddAddress('destinatario@dominio.com', 'Destinatario');//destinatario que va a recibir el correo
 
$mail->AddCC('copia@dominio.com', 'copia');//envía una copia del correo a la dirección especificada
 
$mail->Subject = 'Asunto de email';
 
$mail->AltBody = 'cuerpo del mensaje en texto plano';//cuerpo con texto plano
 
$mail->MsgHTML('Mensaje con HTML');//cuerpo con html
 
$mail->AddAttachment("archivo.zip");//adjuntos un archivo al mensaje
 
if(!$mail->Send()) {//finalmente enviamos el email
   echo $mail->ErrorInfo;//si no se envía correctamente se muestra el error que ocurrió
} else {
   echo 'Correo enviado correctamente';
}
 

Enviar un correo usando Gmail y PHPMailer:

require 'class.phpmailer.php';
require 'class.smtp.php'; //incluimos la clase para envíos por SMTP
$mail = new PHPMailer();
 
 
$mail->IsSMTP();
$mail->CharSet = 'UTF-8';
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com"; //servidor smtp
$mail->Port = 465; //puerto smtp de gmail
$mail->Username = 'email@gmail.com';
$mail->Password = 'tucontraseña';
 
$mail->FromName = 'Juan Palomo';
$mail->From = 'remitente@dominio.com';//email de remitente desde donde se envía el correo.
 
$mail->AddAddress('destinatario@dominio.com', 'Destinatario');//destinatario que va a recibir el correo
 
$mail->AddCC('copia@dominio.com', 'copia');//envía una copia del correo a la dirección especificada
 
$mail->Subject = 'Asunto de email';
 
$mail->AltBody = 'cuerpo del mensaje en texto plano';//cuerpo con texto plano
 
$mail->MsgHTML('Mensaje con HTML');//cuerpo con html
 
$mail->AddAttachment("archivo.zip");//adjuntos un archivo al mensaje
 
if(!$mail->Send()) {//finalmente enviamos el email
   echo $mail->ErrorInfo;//si no se envía correctamente se muestra el error que ocurrió
} else {
   echo 'Correo enviado correctamente';
}
 

 

Puedes imprimir los valores almacenados en un array con la función print_r(). Nos devolverá los valores de la matriz en una estructura legible.

$equipos = array ('Real Madrid', 'Tenerife', 'Barcelona', 'Valencia'); 
echo <pre>'.print_r ($equipos).'<pre>';

Salida:
Array
(
    [0] => Real Madrid
    [1] => Tenerife
    [2] => Barcelona
   [3] => Valencia

)

También puedes usar la función implode para imprimir los valores en orden de aparición de un array siguiendo un patrón de separación entre elementos, en este ejemplo la coma.

echo implode (",", $equipos);

Salida:

Real Madrid, Tenerife, Barcelona, Valencia

Aclaración: Implode() sólo funciona con matrices unidimensionales.

 

En PHP tenemos multitud de funciones para tratar cadenas de caracteres. Una de ellas, substr, nos devuelve un fragmento o porción de la cadena que estamos manipulando. El problema viene cuando queremos que no se  corte la última palabra de la subcadena que obtenemos. Ninguna función de manipulación de cadenas es capaz de identificar una palabra y no cortarla, pero podemos utilizar una combinación de éstas funciones para obtener una subcadena sin cortar palabras por la mitad.

Con el código que describo a continuación podéis cortar una cadena, dado un número de caracteres, sin partir la última palabra de la subcadena resultante.

$texto = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.';
$cantidadCaracteres = 25;
 
//1.- Obtenemos un fragmento de la cadena desde el índice cero hasta la longitud dada por la variable$cantidadCaracteres
$subcadena = substr($texto,0,$cantidadCaracteres);
 
//2.- strrpos encuentra la posición de la ultima aparición de un caracter, en éste caso el último espacio en blanco de la cadena que obtenemos con substr
$indiceUltimoEspacio = strrpos($subcadena," ");
 
//3.- Con substr obtenemos una subcadena de $texto desde la posicion inicial hasta la posición del último espacio que nos interesa
echo substr($texto,0, $indiceUltimoEspacio);
//salida por pantalla-> Lorem ipsum dolor sit

Y ahora el mismo código  en una sola línea:

$texto = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.';
$cantidadCaracteres = 25;
echo substr($texto,0,strrpos(substr($texto,0,$cantidadCaracteres)," "));

Este aporte no es ni mucho menos mío, debemos darle las gracias a Javier Cerezo que dejo  un comentario en un artículo de la página programacionweb.net con este tip. 

 
  • bloglines
  • Google
  • Netvibes
  • MyYahoo
  • MyMsn
Artículos Destacados
Autores
Categorías
Archivo

2009 - PromineoStudios - Todos los derechos Reservados

Diseño con estándares web - XHTML CSS - Versión anterior del sitio