2016-04-19 5 views
0

PHP DOMクエリを使用してHTMLテーブルセルからテキストを取得するにはどうすればよいですか?私は、クエリ、次のしているPHP DOMクエリを使用してHTMLテーブルからテキストを選択する方法は?

<table> 
    <tr> 
    <th>Job Location:</th> 
    <td><a href="/#">Kabul</a> 
    </td> 
    </tr> 
    <tr> 
    <th>Nationality:</th> 
    <td>Afghan</td> 
    </tr> 
    <tr> 
    <th>Category:</th> 
    <td>Program</td> 
    </tr> 
</table> 

が、それは動作しません:

HTMLテーブルがある

$xmlPageDom = new DomDocument(); 
@$xmlPageDom->loadHTML($html); 
$xmlPageXPath = new DOMXPath($xmlPageDom); 
$value = $xmlPageXPath->query('//table td /text()'); 
+0

'$ xmlPageXPath'をどのように初期化しましたか?あなたは完全なコードを追加できますか? –

+0

@severinolorillajr質問が更新されました。 –

答えて

2

get a complete table with php domdocument and print it

答えは、このようなものです:

$html = "<table ID='myid'><tr><td>1</td><td>2</td></tr><tr><td>4</td><td>5</td></tr><tr><td>7</td><td>8</td></tr></table>"; 

$xml = new DOMDocument(); 
$xml->validateOnParse = true; 
$xml->loadHTML($html); 

$xpath = new DOMXPath($xml); 
$table =$xpath->query("//*[@id='myid']")->item(0); 

$rows = $table->getElementsByTagName("tr"); 

foreach ($rows as $row) { 
    $cells = $row -> getElementsByTagName('td'); 
    foreach ($cells as $cell) { 
     print $cell->nodeValue; 
    } 
} 

EDIT:Uこれを代わりに

$table = $xpath->query("//table")->item(0); 
+0

回答ありがとうございます。私はテーブルに 'id'を持っていません。 –

+0

は作成できません。 –

+0

私は第三者のウェブサイトにアクセスすることはできません。 –

関連する問題