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>
?>
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:
position: relative;).width).Visto en The IE/Win Disappearing List-Background Bug (Position is Everything).
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)
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.
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.
Un par de capturas de la instalación:
No deja utilizar la IE Developer Toolbar:

Página de inicio por defecto, y Outbook:
Por supuesto, no me he arriesgado y lo he instalado en una máquina virtual:
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.