Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Reiuky
    Registrato dal
    Jul 2008
    Messaggi
    371

    Leggere il contenuto di una tabella da html

    Ciao Ragazzi

    Non riesco a venire a capo di un problema:

    Ho una tabella html (correttamente generata, quindi <table><tr><td> etc) ma non riesco a trovare un modo per estrarne il contenuto e metterlo su un array bidimensionale.

    Quello che ho provato a fare:
    - Leggere la strina con str_pos, e substr, ma vado subito in out of memory
    - Leggere il file come se fosse un xml con simplexml ma
    - non è possibile estrarre gli elementi per nome del tag
    - non è possibile estrarre il contenuto di un tag

    non so che inventarmi. Cosa mi consigliate?
    A volte penso che, nel darci l'intelletto, la natura sia stata più sadica che generosa.

  2. #2
    Utente di HTML.it L'avatar di Reiuky
    Registrato dal
    Jul 2008
    Messaggi
    371
    per la serie... si faccia una domanda e si risponda

    codice:
    	private function estraiDatiFromHTML($fileHTML)
    	{
    		$a_valori = array();
    		$content = '';
    		if (file_exists($fileHTML))
    		{
    			$R_fopen = fopen($fileHTML,'r');
    			while (($linea = fgets($R_fopen)) !== false)
    			{
    				$content.=$linea;
    			}
    			fclose($R_fopen);
    			unlink($_FILES['file']['tmp_name']);
    		}
    		
    		$dom = new DOMDocument();
    		$dom->loadXML($content);
    		unset($content);
    		
    		$count_table = 0;
    		
    		foreach($dom->getElementsByTagName('table') as $table)
    		{
    			$count_riga = 0;
    			foreach($table->getElementsByTagName('tr') as $tr)
    			{
    				// prendo solo la prima riga di intestazione
    				if(!($count_riga == 0 && $count_table != 0))
    				{
    					$riga = array();
    					foreach($tr->getElementsByTagName('td') as $td)
    					{
    						$riga[] = $td->textContent;
    					}
    					$a_valori[] = $riga;
    				}
    				$count_riga++;
    			}
    			$count_table++;
    		}
    		return $a_valori;
    	}
    A volte penso che, nel darci l'intelletto, la natura sia stata più sadica che generosa.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.