3v4l.org

run code in 300+ PHP versions simultaneously
<?php $html = '<div> <table> <tbody> <tr class="mes"><td colspan="5">Enero</td></tr> <tr class="dia-info"> ........ </tr> <tr class="datos"> <div class="div1"> ........ </div> <div class="div2"> ........ </div> </tr> <tr class="dia-info"> ........ </tr> <tr class="datos"> <div class="div1"> ........ </div> <div class="div2"> ........ </div> </tr> <tr class="dia-info"> ........ </tr> <tr class="datos"> <div class="div1"> ........ </div> <div class="div2"> ........ </div> </tr> <tr class="mes"><td colspan="5">Febrero</td></tr> <tr class="dia-info"> ........ </tr> <tr class="datos"> <div class="div1"> ........ </div> <div class="div2"> ........ </div> </tr> </tbody> </table> </div> '; //Generar el DOM $dom = new DOMDocument; $libxml_opciones = LIBXML_COMPACT | LIBXML_HTML_NODEFDTD | LIBXML_NONET | LIBXML_NOERROR; @$dom->loadHTML($html, $libxml_opciones); //Obtenemos todas las tablas en el doc $tablas = $dom->getElementsByTagName('table'); //Recorremos c/u foreach ($tablas as $tabla) { //Obtenemos cada <tr> $trs = $tabla->getElementsByTagName('tr'); $fila_nro = 0; //Recorremos c/u foreach ($trs as $tr) { // Y acá podemos manipular cada <tr>, haciendo lo que quieras hacer // Luego, obtenemos el HTML de este elemento como texto: $html_fila = $dom->saveHTML($tr); //podemos imprimir el HTML de la fila para depurar lo que hicimos echo ('HTML Fila: ' . ++$fila_nro . "\n$html_fila\n\n"); } }
Output for 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.28, 8.4.1 - 8.4.14, 8.5.0
HTML Fila: 1 <tr class="mes"><td colspan="5">Enero</td></tr> HTML Fila: 2 <tr class="dia-info"> ........ </tr> HTML Fila: 3 <tr class="datos"> <div class="div1"> ........ </div> <div class="div2"> ........ </div> </tr> HTML Fila: 4 <tr class="dia-info"> ........ </tr> HTML Fila: 5 <tr class="datos"> <div class="div1"> ........ </div> <div class="div2"> ........ </div> </tr> HTML Fila: 6 <tr class="dia-info"> ........ </tr> HTML Fila: 7 <tr class="datos"> <div class="div1"> ........ </div> <div class="div2"> ........ </div> </tr> HTML Fila: 8 <tr class="mes"><td colspan="5">Febrero</td></tr> HTML Fila: 9 <tr class="dia-info"> ........ </tr> HTML Fila: 10 <tr class="datos"> <div class="div1"> ........ </div> <div class="div2"> ........ </div> </tr>
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.

preferences:
191.43 ms | 408 KiB | 5 Q