Torna al Thread

$a=tab_html_to_array($news_da_www); //echo "<br>fine operazione::::".print_r($a); function tab_html_to_array($tab/*è lastringa che contiene i la tabella*/){ /*********************************************** * Trasformo la stringa tabella in un array * * sostituendo i tag tabella con la sintassi * * della funzione "array()", poi scrivo la * * stringa in un file.php creato con file_op() * * che subito dopo includo nel mio script * * generendo cosi l'array voluto * ***********************************************/ /*RESTITUISCE UN ARRAY CONTENENTE DUE ARRAY IL * * PRIMO CON L'INTESTAZIONE DELLA TABELLA ED IL* * SECONDO CONTENENTE I DATI * ***********************************************/ $inizio=array("<thead>","<tbody>"); $fine=array("</thead>","</tbody>"); for ($i=0;$i<2;$i++) {$ris[$i]=sostituzione_tag($inizio[$i],$fine[$i],$tab);} /* Qui costruisco la stringa che una * * volta scritta sull'appostio file * * diventera il codicie dell'array */ $str0="$"."intest=".$ris[0].";"; $str1="$"."a=array(".$ris[1].");"; /*Inserisco la stringa nel file di php*/ $file=file_op("<?php ".$str0." \n".$str1."?>"); include($file); /*adesso la trasformazione è completa */ $risultato=array($intest,$a); return $risultato; } function sostituzione_tag($inizio,$fine,$tab){ $length=strlen($fine); $comincio_da_qua = strpos($tab , $inizio); $finisco_qui = strpos($tab , $fine); $ar= mb_substr($tab,$comincio_da_qua+$length-1,$finisco_qui-$comincio_da_qua-$length); if ($inizio!="<thead>") {$i_c="/(<td.*?>)/"; $f_c="/(<\/td.*?>)/";}else $i_c="/(<th.*?>)/"; $f_c="/(<\/th.*?>)/"; /*elimino eventuali comandi di controllo.*/$ar=preg_replace("/[[:cntrl:]]/","",$ar); /*elimino spazi multipli */$ar=preg_replace("/\s{2,}/"," ",$ar); /* Inizio a costruire l'array, * * <tr> segnera l'inizio dell'array */$ar=str_replace("<tr>","array(",$ar); /*chiudo l'array */$ar=preg_replace("(</tr>)",")",$ar); /* */$ar=preg_replace($i_c,"\"",$ar); /* */$ar=preg_replace("/(<\/td.*?>)/","\",",$ar); /* */$ar=preg_replace("/(<\/th.*?>)/","\",",$ar); /*elimino i tag rimanenti */$ar=strip_tags($ar); /*sistemo la punteggiatura dell'Array */$ar=str_replace(", ) array","), array",$ar); /* */$ar=str_replace(", )",")",$ar); /*elimino qualche altro spazio di troppo */$ar=preg_replace("/(\s*\"\s*)/","\"",$ar); /*elimino gli accenti */$ar=str_replace("'"," ",$ar); return $ar; } function file_op($str,$file="deb/tab_to_array.php",$tipo="w+"){ $var=fopen($file,$tipo); fwrite($var,$str ); fclose($var); return $file; }
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5