Outbook

HTML+CSS+JS, Accesibilidad, PHP y más

Datos de búsqueda

Archive for Marzo, 2008

PHP: recoger fragmentos de una cadena mediante preg_match_all

Fecha de publicación: 2008/03/26

Supongamos que tenemos un texto largo en HTML que forma una cadena de texto:

<p>Listado de elementos</p>
<ul>
 <li><a href="#">Elemento 1</a></li>
 <li class="elegido"><a href="#">Elemento 2</a></li>
 <li><a href="#">Elemento 3</a></li>
 <li><a href="#">Elemento 4</a></li>
 <li class="elegido"><a href="#">Elemento 5</a></li>
 <li><a href="#">Elemento 6</a></li>
</ul>

Y queremos sacar únicamente los elementos LI con class="elegido".

Esto es posible con la funcion PHP preg_match_all, que nos devolverá un array con los fragmentos que haya encontrado:

<?
$htmlOriginal = '<p>Listado de elementos</p>
<ul>
 <li><a href="#">Elemento 1</a></li>
 <li class="elegido"><a href="#">Elemento 2</a></li>
 <li><a href="#">Elemento 3</a></li>
 <li><a href="#">Elemento 4</a></li>
 <li class="elegido"><a href="#">Elemento 5</a></li>
 <li><a href="#">Elemento 6</a></li>
</ul>';

$htmlABuscar = '/<li class="elegido".*li>/';

preg_match_all($htmlABuscar, $htmlOriginal, $htmlFinal);

echo $htmlFinal[0]; // <li class="elegido"><a href="#">Elemento 2</a></li>
echo $htmlFinal[1]; // <li class="elegido"><a href="#">Elemento 5</a></li>
?>

Saber más sobre preg_match_all.

Datos del artículo:

CSS: bug de Internet Explorer 6 y 7 en imágenes de fondo para listas

Fecha de publicación: 2008/03/25

En algunas ocasiones al crear un estilo con imagen de fondo para un elemento HTML destinado a listas (DL, UL, LI, etc.) nos podemos encontrar con que esa imagen no se muestra en Internet Explorer, tanto en la versión 6 como en la 7.

Para solucionar este inconveniente hay un par de apaños:

  • Darle posición relativa a los elementos afectados por el problema (position: relative;).
  • Si el anterior no funciona, darles también anchura (propiedad width).

Visto en The IE/Win Disappearing List-Background Bug (Position is Everything).

Datos del artículo:

PHP: convertir cadena de texto a mayúsculas o a minúsculas

Fecha de publicación: 2008/03/24

Para pasar a minúsculas:

$resultado = strtolower($origen)

Para pasar a mayúsculas:

$resultado = strtoupper($origen)

Para pasar a mayúsculas solo la primera letra de cada palabra:

$resultado = ucwords($origen)

Para pasar a mayúsculas solo la primera letra de la cadena de texto (como la anterior pero solo para la primera palabra):

$resultado = ucfirst($origen)

Saber más

Datos del artículo:

PHP: Hallar múltiplos para las iteraciones de un bucle

Fecha de publicación: 2008/03/24

Hay ocasiones en las que al hacer un bucle en PHP es necesario que la salida de una de las iteraciones tenga alguna peculiaridad, como que por ejemplo cada tres elementos de lista haya un atributo class.

Supongamos que tenemos el siguiente bucle:

$i=0;
while ($valor < $numero) {
 echo '<li>'.$elemento[$i].'</li>'
 $i  ;
}

Supongamos que queremos que aparezca una clase cada tres elementos de lista, tendremos que meter esa clase en los elementos en los que la variable $i sea múltiplo de tres:

$i=0;
while ($valor < $numero) {
 $k = $i-1; //Para corregir el problema de que se empieza a contar de 0 
 if ($k % 3 == 0) {$clase = ' class="tercero"';}
 echo '<li'.$clase.'>'.$elemento[$i].'</li>'
 $i  ;
}

De esta forma el elemento de lista que sea múltiplo de 3 llevará la clase tercero.

Saber más en Programación en PHP/Bucles (Wikilibros).

Datos del artículo:

Internet Explorer 8 Beta 1

Fecha de publicación: 2008/03/06

Esta vez Microsoft parece que se está dando más prisa en sacar nueva versión de su navegador, y ya está disponible para descargar la primera beta de la versión 8 de Internet Explorer.

No me ha dado tiempo a probarlo en profundidad, pero dejo unas cuantas capturas de pantalla y algunos enlaces.

Capturas de pantalla/Screenshots de Internet Explorer 8

Un par de capturas de la instalación:

Captura/Screenshot Internet Explorer 8

Captura/Screenshot Internet Explorer 8

No deja utilizar la IE Developer Toolbar:

Captura/Screenshot Internet Explorer 8

Página de inicio por defecto, y Outbook:

Captura/Screenshot Internet Explorer 8

Captura/Screenshot Internet Explorer 8

Por supuesto, no me he arriesgado y lo he instalado en una máquina virtual:

Captura/Screenshot Internet Explorer 8

Emulación de Internet Explorer 7

Una característica muy interesante es la capacidad de emular el comportamiento de IE7 (si se activa requiere reiniciar el navegador), de forma que es como tener dos versiones de Internet Explorer en la misma máquina, aunque no puedan ejecutarse al mismo tiempo.

Enlaces relacionados

Datos del artículo:

Información del sitio