-------------- EDIT ------------------------HTMLテーブルからPHPへの配列
だから私はDOMのアプローチで行くつもりです。ここに私がこれまで持っていたものがあります:
<?php function getdata(){
$contents = file_get_contents('internatdata.htm');
//create a DOM based off of the string from the html table
$DOM = new DOMDocument;
$DOM->loadHTML($contents);
//get all tr and td
$items = $DOM->getElementsByTagName('tr');
$tds = $DOM->getElementsByTagName('td');
function tdrows($elements){
$str = "";
for ($ii =0; $ii < $elements->length; $ii++){
$str .= $elements->item($ii)->nodeValue . ",";
}
return $str;
}
for ($i = 0; $i < $items->length; $i++){
echo tdrows($tds) . "; <br />";
}
}
?>
問題は、各テーブル行からtdを選択するだけです。私はネストされたループでこれを達成しようとしています。残念ながら、それはタグがあるので、何度も何度もページ上のすべてのタグのテキストを印刷しています。どのように私はそれを得ることができますので、各trのtdを印刷するだけでなく、DOMのすべてのTDを?
データベースにアクセスできないため、データのソースとしてhtmlテーブルを使用する必要があります。私はテーブルを配列や多次元配列に変換するための関数を作成する必要があるhtmlテーブルからデータを問い合わせることができるようにします。
私は考えている基本的なアイデアがありますが、htmlテーブルに基づいて配列を返すためにコードを完成させる助けが必要です。
<?php
function getdata(){
$contents = file_get_contents('data.htm');
//add delimiters (semicolon for a row and comma for a cell) ???
$stripped = strip_tags($contents);
//explode into an array based off the delimiters above ???
}
?>
を参照してください例えば、DOMパーサを使用することです最善の方法http://php.net/manual/en/book.dom.php – jli
のhttp: //stackoverflow.com/questions/3627489/php-parse-html-code –
'data.htm'にはテーブルとその内容のみが含まれているのですか、それとももっと多くの要素を含む完全なHTMLページですか?とにかく、あなたのコードには、まだテーブル要素の解析に関連する部分がすべて欠けています。 IMO、私は別の方法を探します:私はhtmlテーブルを読むというアイデアは好きではありません。 – jap1968