Estoy haciendo un programa para hacer web scrapping para obtener el texto que aparece en cierta pagina, ya pude obtener el texto y acomodarlo conforme a su seccion y publicacion, el problema es como decirle que cierta publicacion pertenece a cierta seccion
En la imagen los que estan encerrados en amarillo representan las secciones y los de verde son las publicaciones, ya estan ordenadas, pero quiero saber como hacerle para decirle que esas publicaciones pertenecen a cierta seccion
(https://lh3.googleusercontent.com/-AKoQ2PcDGjE/VdJ7Dou7_3I/AAAAAAAAAf0/z_Kl53XC-ZM/s912-Ic42/titulos%252520y%252520secciones.png)
Aqui esta el codigo
<?php $html = file_get_contents("http://dof.gob.mx/index.php?year=2015&month=07&day=27"); file_put_contents('dof.html',$html); $xml = new DomDocument(); @$xml->loadHTML($html); $xml->normalizeDocument(); $xpath = new DOMXPath($xml); /////////////////SECCIONES///////////////////////// $titulos = $xpath->query('//td[@class="subtitle_azul"]'); $tituloSecciones= new ArrayObject(); $codigoSecciones = new ArrayObject(); foreach($titulos as $item){ // print_r($item); $tituloSecciones -> append(trim($item->textContent)); foreach(($item->getElementsByTagName("a")) as $new){ $atributo = $new->getAttribute("href"); // print_r($atributo); $arr = explode("=", $atributo); $codigoSecciones -> append($arr[1]); // echo $arr[1]; } } $final = new ArrayObject(); for($i = 0;$i < count($tituloSecciones); $i ++){ $final -> append(array($codigoSecciones[$i] => $tituloSecciones[$i])); } // var_dump($titulo); ////////////////PUBLICACIONES///////////////// $titulo = array(); $tituloPublicaciones= new ArrayObject(); $codigoPublicaciones= new ArrayObject(); $enlaces = $xpath -> query('//a[@class="enlaces"]'); // print_r($enlaces); foreach($enlaces as $item){ $test = $item -> getAttribute("href"); $test2= str_replace('&' , '=',$test); $explo = explode("=", $test2); @$codigoPublicaciones -> append($explo[1]); $tituloPublicaciones -> append(trim($item -> textContent)); } //////////////////// CICLO PARA ORDENAR ////////////////////////// $maximo = count($codigoSecciones) - 1; for($a = 0; $a < count($codigoSecciones) ; $a++){ for($b = 0; $b < count($codigoPublicaciones) - 1; $b++){ if($a == $maximo){ if($codigoPublicaciones[$b] > $codigoSecciones[$maximo]){ $final[$a][] = array($tituloPublicaciones[$b]); } } else{ if($codigoPublicaciones[$b] > $codigoSecciones[$a] and $codigoPublicaciones[$b] < $codigoSecciones[$a + 1]){ $final[$a][] = array($tituloPublicaciones[$b]); } } } } // $final[0][] = array($tituloPublicaciones[0]); /* asi da */ // var_dump($final[0][$codigoPublicaciones[0]]); var_dump($final); ////////////////////// CICLO PARA ORDENAR LAS PUBLICACIONES EN SU SECCION ////////////////////////////////////////// ?>