在PHP中,我需要遍历本地HTML文件,以获取属于具有所选类的标签的标签的for属性的内部HTML和值,因此displayname和email的标签为以下示例。 HTML是通过直接文件访问而不是通过Web浏览器访问的。
<div id="custom_panel">
<ul>
<li>
<label for="displayname" class="selected">Public display name</label>
<input type="text" class="selected" id="displayname" name="displayname" maxlength="254" value=""/>
</li>
<li>
<label for="email" class="selected">Email</label>
<input type="text" class="selected" id="email" name="email" maxlength="254" value="" />
</li>
<li>
<label for="age">Age</label>
<input type="text" id="age" name="age" maxlength="3" value="" />
</li>
</ul>
</div>
编辑:
解决方案 - 我更新了标签以获得所选类,这简化了事情,并且意味着使用DOMDocument的建议很有效。
$dom=new DOMDocument;
$dom->loadHTMLFile( $filename );
$col=$dom->getElementsByTagName('label');
foreach( $col as $node ) {
echo 'ID: ' . $node->getAttribute('for') . ' Class: ' . $node->getAttribute('class') . ' Value: ' . $node->nodeValue . '<br />';
}
答案 0 :(得分:4)
使用DOMDocument加载和处理HTML文件的简单示例
$filename='c:/wwwroot/somepage.html';
$dom=new DOMDocument;
$dom->loadHTMLFile( $filename );
$col=$dom->getElementsByTagName('*');
foreach( $col as $node ) {
echo $node->tagName, $node->nodeValue, '<br />';
}
答案 1 :(得分:0)
请查看PHP DOMDocument here