2013-08-13 3 views
-1

다음 코드를 사용하여 페이지를 테이블 형식으로 정렬하려고합니다. h4, span 및 nonspan을 이름, 가격, 이 간단한 예는 테이블에 이름, 가격 및 항목 번호를 넣어 것입니다PHP를 사용하여 페이지를 테이블로 포맷하십시오.

<?php 
$c = file_get_contents('http://www.bunnings.com.au/products_category_plumbing-supplies_1637.aspx'); 
$dom = new DOMDocument(); 
$dom->loadHTML($c); 
$xpath = new DOMXPath($dom); 
$div = $xpath->query('//div[@class="details"]'); 
$div = $div->item(0); 
echo $dom->saveXML($div); 
?> 
+1

그리고 당신의 질문은? –

+0

어떻게 더 자세히 추출하여 테이블에 h4, span 및 nonspan을 얻을 수 있습니까? –

+0

질문을 편집하여 포함시키고 현재 얻고있는 것에 대한 명확한 예제를 추가하십시오. 좋은 질문을하면 더 나은 대답을 얻을 수 있습니다. –

답변

2

테이블의 항목 :

$xpath = new DOMXPath($dom); 
$div = $xpath->query('//div[@class="details"]'); 

echo '<table>'; 

foreach($div as $details) 
{ 
    $name = $details->getElementsByTagName('h4')->item(0)->getElementsByTagName('a')->item(0)->nodeValue; 
    $price = $details->getElementsByTagName('p')->item(0)->getElementsByTagName('span')->item(0)->nodeValue; 
    $itemNumber = $details->getElementsByTagName('p')->item(0)->childNodes->item(2)->nodeValue; 

    $html = '<tr>'; 
    $html .= '<td>' . htmlspecialchars($name) . '</td>'; 
    $html .= '<td>' . htmlspecialchars($price) . '</td>'; 
    $html .= '<td>' . htmlspecialchars($itemNumber) . '</td>'; 
    $html .= '</tr>'; 

    echo $html; 
} 

echo '</table>'; 
관련 문제