2016-11-12 4 views
0

ich den folgenden Code bin mit Tabellenelementen aus der Australian Securities Exchange zu analysieren:aus der Tabelle mit PHP Parsen Link

<?php 

$dom = new DOMDocument(); 


//load the html 
$html = $dom->loadHTMLFile("http://www.asx.com.au/asx/statistics/prevBusDayAnns.do"); 

    //discard white space 
$dom->preserveWhiteSpace = false; 

    //the table by its tag name 
$tables = $dom->getElementsByTagName('table'); 

    //get all rows from the table 
$rows = $tables->item(0)->getElementsByTagName('tr'); 
    // get each column by tag name 
$cols = $rows->item(0)->getElementsByTagName('th'); 
$row_headers = NULL; 
foreach ($cols as $node) { 
    //print $node->nodeValue."\n"; 
    $row_headers[] = $node->nodeValue; 
} 

$table = array(); 
    //get all rows from the table 
$rows = $tables->item(0)->getElementsByTagName('tr'); 

foreach ($rows as $row) 
{ 
    // get each column by tag name 

    $cols = $row->getElementsByTagName('td'); 

    $companysymbol = $cols->item(0)->nodeValue; 
    $pubtime = $cols->item(1)->nodeValue; 
    $newstitle = $cols->item(3)->nodeValue; 

    $row = array(); 

    echo $companysymbol . '<br>'; 
    echo $pubtime . '<br>'; 
    echo $newstitle . '<br><br>'; 

} 

?> 

Der Code funktioniert gut, aber zusätzlich die $ companysymbol, $ pubtime Echo und $ newstitle Ich möchte den Link (PDF link) in der Tabelle wiederholen. Kann mir jemand sagen wie?

Vielen Dank im Voraus für Ihre Hilfe !!

Antwort

0

Sie müssen das href Attribut erhalten, und dann Link neu erstellen.

(...) 
$pdflink = $cols->item(5)->nodeType === XML_ELEMENT_NODE ? $cols->item(5)->getElementsByTagName('a')->item(0)->getAttribute('href') : ''; 
(...) 
echo "<a href='http://www.asx.com.au$pdflink'>pdf</a>".'<br>'; 

Dies wird anklickbare Link zu PDF erstellen.

+0

Vielen Dank für die Antwort, aber leider Ihre Lösung würde das Wort "PDF" und nicht die Verbindung selbst (href innerhalb Tag) echo. – Tim

+0

Funktioniert perfekt !! Danke 1000 mal! – Tim