<table id="rr" class="table mobile table-bordered">
<tr class="data " id="abc1235">
<td>
<span class="label tip-top files-count" data-original- title="Filesin">1</span>
</td>
<td colspan="1">
<a class="tname " href="/file/123/0">User12</a>
</td>
<td class="tprogress">
<span class="label size tip-top" data-original-title="Size">18.2 MB</span>
</td>
<td>
<!--actions-->
</td>
</tr>
<tr class="data" id="abc12356">
<td>
<span class="label tip-top files-count" data-original-title="Files in">1</span>
</td>
<td colspan="1">
<a class="tname " href="/file/123/1">Hi user </a>
</td>
<td class="tprogress">
<span class="label size tip-top" data-original-title="Size">18.2MB</span>
</td>
<td>
<!--actions-->
</td>
</tr>
</table>
使用 php 我想获取这种格式的信息 姓名:用户12 编号:abcd12345 名称:嗨用户 id:abc12356
到目前为止我所做的是
foreach($dom->getElementsByTagName('tr') as $link) {
echo $link->getAttribute('id');
echo "<br />";
}
这只会获取第一个值,我需要进入并获取标签的文本
最佳答案
忽略以下 html 中虚假的额外空格应该可以得到您需要的内容。
<?php
$strhtml='
<table id="rr" class="table mobile table-bordered">
<tr class="data" id="abc1235">
<td>
<span class="label tip-top files-count" data-original-title="Filesin">1</span>
</td>
<td colspan="1">
<a class="tname" href="/file/123/0">User12</a>
</td>
<td class="tprogress">
<span class="label size tip-top" data-original-title="Size">18.2 MB</span>
</td>
<td>
<!--actions-->
</td>
</tr>
<tr class="data" id="abc12356">
<td>
<span class="label tip-top files-count" data-original-title="Files in">1</span>
</td>
<td colspan="1">
<a class="tname" href="/file/123/1">Hi user</a>
</td>
<td class="tprogress">
<span class="label size tip-top" data-original-title="Size">18.2MB</span>
</td>
<td>
<!--actions-->
</td>
</tr>
</table>';
$dom=new DOMDocument;
$dom->loadHTML( $strhtml );
$xpath=new DOMXPath( $dom );
$col=$dom->getElementsByTagName('tr');
if( $col ){
$output=array();
foreach( $col as $tr ){
$a_usr=$xpath->query( 'td/a[@class="tname"]', $tr );
$output[]=array('id'=>$tr->getAttribute('id'), 'user'=>$a_usr->item(0)->nodeValue );
}
/* Display what was found */
echo '<pre>',print_r($output,true),'</pre>';
}
/* not really required but tidy up */
$dom = $xpath = $col = $tr = $output = null;
?>
关于javascript - 使用php访问html子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34340172/