ローカルHTMLファイルからコンテンツを抽出しようとしています。私はHTMLパースメソッドを使用しますが、何も取得しません。PHP HTML解析によるHTMLコンテンツの抽出nullオブジェクト
PHPコードは以下の通りです:
$doc = new \DOMDocument();
$doc->loadHTML("assets.html");
$tables = $doc->getElementsByTagName('table');
foreach($tables as $table) {
$content = $doc->saveHTML($table);
}
echo $content;
デバッグステップバイステップで、$doc->loadHTML("assets.html")
リターンtrue
、とは$tables
ためDOMNodeList::__set_state(array( ))
を得ました。
assets.htmlの一部は以下の通りです:あなたは内部のデータを取得する必要があります$doc->loadHTMLFile("assets.html");
代わり$doc->loadHTML("assets.html");
の:あなたは、ファイルからHTMLをロードしている
<div class="btn-group">
<button type="button" class="btn btn-info dropdown-toggle" id="manage" data-toggle="dropdown">
新增
<span class="caret"></span>
</button>
<ul class="dropdown-menu " role="menu">
<li><a href="#" id="newassets">增加资产</a></li>
<li><a href="#" id="newdetail">增加明细</a></li>
</ul>
</div>
<button type="button" class="btn btn-danger" id="deleteassets" value="" >删除</button>
<button type="button" class="btn btn-success" id="modifyassets" value="" >修改</button>
<button type="button" class="btn btn-warning" id="lend-lease" value="" >领用</button>
</div>
<div class="dataTable_hr_info">
<table class="table table-striped table-bordered table-hover" action="" id="assetsInfo">
<thead>
<tr>
<th data-field="state" data-checkbox="true"></th>
<th data-field="pr" >序号</th>
<th data-field="category">资产类别</th>
<th data-field="name" >资产名称</th>
<th data-field="model">型号</th>
<th data-field="unit">单位</th>
<th data-field="count">数量</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
あなたは必ず '$ doc'は、その中に右の文書を持ってロードされたことがあることです正しく?このコードはログにエラーを生成しますか? – tadman
$ doc-> loadHTML( "assets.html")がtrueを返すかどうかだけをチェックします。正しくロードされているかどうかを確認する方法はありますか?エラー情報が見つかりませんでした。 – Lisa
ここでは、ライドンスが正しいアイデアを持っていると思います。たぶんそれはその文字列をそのまま文字列として解析したのでしょうか? – tadman