Outbook
HTML+CSS+JS, Accesibilidad, PHP y más
Inicio
Desarrollo web
PHP
PHP: recoger fragmentos de una cadena mediante preg_match_all
PHP: recoger fragmentos de una cadena mediante preg_match_all
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>
?>
Artículos relacionados:
Datos del artículo:
- Publicado el Miércoles 26 de marzo de 2008 a las 16:06
- Archivado en Desarrollo web, PHP
- Etiquetas: preg_match_all, Programación
- Seguimiento de comentarios (RSS 2.0).
Comentarios del artículo
Puedes comentar o hacer trackback desde tu propio sitio web.
Si el comentario no guarda relación con el tema del artículo o los comentarios previos, si la redacción del mismo es ilegible (estilo HOYGAN), o si contiene insultos u otros términos ofensivos, será borrado de inmediato. No se garantiza ningún soporte a los ejemplos de desarrollo web presentados en este sitio.
Hay un comentario a “PHP: recoger fragmentos de una cadena mediante preg_match_all”











Victor dice:
Fecha de comentario: 2011/10/24 12:27
Ejemplo muy practico.