Tag Archives: PHP

Libros para Desarrollo WEB

Desde la reciente incorporación de HTML5 y CSS3, estoy actualizando mis conocimientos sobre desarrollo web.

Tras leer la documentación del World Wide Web Consortium (W3C) y empaparme de la información necesaria para acometer proyectos con la mayor soltura posible, no he decidido empezar ningún proyecto con dicha tecnología. Debido a que primero deben implantarse y afianzarse las nuevas versiones, que están por venir e incorporan esas nuevas mejoras, de los navegadores más difundidos: Internet Explorer, FireFox y Safari.

El tiempo que voy a tener de margen lo aprovecharé para leer lo siguientes libros:

Además voy a aprovechar para profundizar en jQuery, una tecnología intrínsecamente ligada a cualquier web:

En la actualidad ya no podemos escaparnos de las Redes Sociales voy a terminar con un libro íntegramente dedicado a Twitter:

Y uno del que solo voy a provechar la parte correspondiente al API de Twitter, de momento FaceBook lo dejo en el tintero (recientemente he clausurado mi cuenta):

Y esta es mi tarea extra para los próximos dos meses. Muchos libros, muchos conceptos que asimilar para poderlos poner en práctica en próximos proyectos.

Expresiones Regulares

Me tengo que recordar a mi mismo cada cierto tiempo que es mejor usar EXPRESIONES REGULARES que usar un buscar y reemplazar o que es mejor usar EXPRESIONES REGULARES para validar una dirección de correo, teléfono, dirección, etc. que preparar un algoritmo para comprobar las diversas casuísticas.

¿Por qué tiendo a olvidar esta forma de programar? Pues no lo se y a muchos compañeros de profesión cuando se lo pregunto o bien les pasa lo mismo que a mí o bien ni conocen esta herramienta.

Si deseas más información al respecto, dejo el siguiente enlace: Regular-Expresion.Info.

Y un ejemplo de código que demuestra su potencia:

1
2
3
4
5
6
7
8
//PHP -> La Fecha coincide con los formatos del tipo DD/MM/YYYY, DD-MM-YY,...
$date = "03/02/1977";
$p = "!^(\\d\\d)[-/](\\d\\d)[-/](\\d\\d(?:\\d\\d)?)$!";
if (preg_match($p,$date,$matches) {
  $month = $matches[1];
  $day = $matches[2];
  $year = $matches[3];
}
1
2
3
4
5
6
7
8
9
10
11
12
//C# -> Convertir <br> a <br /> para Compatibilidad XHTML
using System.Text.RegularExpressions;
class Test
{
  static void Main( )
  {
    string t = "Hello world. <br>";
    string f = "<br>";
    string r = "<br />";
    string result = Regex.Replace(t, f, r, RegexOptions.IgnoreCase) ;
  }
}

Y aquí algunas de las verificaciones más comunes:

Para direccions IP separadas por puntos: 
 
    /^(\d|[01]?\d\d|2[0-4]\d|25[0-5])\.(\d|[01]?\d\d|2[0-4] \d|25[0-5])\.
    (\d|[01]?\d\d|2[0-4]\d|25[0-5])\.(\d|[01]?\d\d|2[0-4]\d|25[0-5])$/
 
Coincide: 127.0.0.1, 192.10.1.101
 
No Coincide: 127.1
Para direcciones HTTP:
 
    /(https?):\/\/([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)
    +[a-zA-Z]{2,9})(:\d{1,4})?([-\w\/#~:.?+=&%@~]*)/
 
Coincide: https://jmfloreszazo.com, http://localhot.com:8080/test.html
 
No Coincide: ftp:/jmfloreszazo.com, ftp://jmfloreszazo.com/

A ver si de una vez por todas no olvido pensar en esto antes de ir por el camino fácil.

Integrar Flickr con WordPress

A veces, un plugin de WordPress no hace lo que necesitas y es el momento en el que tienes que integrar algunas funcionalidades si esa ayuda.

Principalmente es la integración con la galería de Flickr, bien sea para mostrarlas en HTML plano o para importarlo como XML para una funcionalidad Flash, es la que integro en mayor medida.

En este caso enlazo el canal RSS de Flickr con la función fetch_feed().

Primer paso, crear un fichero llamado link_with_flickr.php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
  class flickr
  {
    // Función que elimina la doble comilla que interfier en el HTML.
    function cleanup($s = null)
    {
      if (!$s) return false;
      else
      {
        return str_replace('"', '', $s);
      }
    }
    // Resolución de la fotografia.
    function photo($url, $size)
    {
      $url = explode('/', $url);
      $photo = array_pop($url);
      switch($size)
        {
          case 'square':
            $r = preg_replace('/(_(s|t|m|b))?\./i', '_s.', $photo);
            break;
          case 'thumb':
            $r = preg_replace('/(_(s|t|m|b))?\./i', '_t.', $photo);
            break;
          case 'small':
            $r = preg_replace('/(_(s|t|m|b))?\./i', '_m.', $photo);
            break;
         case 'large':
           $r = preg_replace('/(_(s|t|m|b))?\./i', '_b.', $photo);
           break;
         default: // Medium
           $r = preg_replace('/(_(s|t|m|b))?\./i', '.', $photo);
           break;
        }
      $url[] = $r;
      return implode('/', $url);
    }
    //Función que mira las descripciones y localiza la primera imagen.
    function find_photo($data)
    {
        preg_match_all('/&lt;img src="([^"]*)"([^&gt;]*)&gt;/i', $data, $m);
        return $m[1][0];
    }
  }

Segundo paso, integración con el tema, bien sea incluyendo este código en index.php, sidebar.php, …

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  // Obtiene la dos datos desde el RSS
  include_once(ABSPATH . WPINC . '/feed.php');
  include_once(TEMPLATEPATH . '/scripts/link_with_flickr.php');
  $rss = fetch_feed('tu-enlace-con-feed-de-flickr');
  $thumb = 'square';
  $full = 'medium';
  // Maximo de imagenes a mostrar, en este caso 10.
  $maxitems = $rss->get_item_quantity(10);
  // Cargar imagenes en el array, primer elemento es el 0.
  $rss_items = $rss->get_items(0, $maxitems);
  if ($maxitems == 0)    
    //ToDo: Mostrar algo que indique al usuario que no tiene imagenes.
  else
    // Bucle que obtiene y muestra las imagenes del RSS.
    foreach ( $rss_items as $item ):
      $url = flickr::find_photo($item-&gt;get_description());
      $title = flickr::cleanup($item-&gt;get_title());
      $full_url = flickr::photo($url, $full);
      $thumb_url = flickr::photo($url, $thumb);
      //ToDo: Mostrar la Imagen en el contenedor deseado.
    endforeach;

Y el tercer y último paso,s ería configurar un aserie de parámetros y opciones.

En el código anterior se debe cambiar tu-enlace-con-feed-de-flickr por la ruta de enlace con el RSS de Flickr. Esta ruta se encuentra en Photostream de tu cuenta Flirck, basta con copiar la ruta y pegarla en anterior código.

Para mostrar una cantidad u otra de imágenes de tu Photostream, solo será necesario cambiar en la función get_item_quantity el valor del parámetro.

Y en la secciones ToDo, cada desarrollador deberá asignar los datos a una imagen, a un visualizador flash, etc. etc.

Nota:

Uno de los recursos que utilizo para recordar la cantidad de funciones englobadas en WordPress, es WordPress Visual Cheay Sheet (pulsar aquí para descargar), diseñador por Anotonio Lupetti, es un documento englobado en una serie de ayudas que suele añadir y actualizar con cierta regularidad.