0
我使用一些代码来挑选出所有从HTML页面的<td>
标签:PHP DOM遍历HTML节点和childnode
$dom = new DOMDocument;
$dom->loadHTML($html);
foreach ($dom->getElementsByTagName('td') as $node) {
$array_data[ ] = $node->nodeValue;
}
这存储在我的数组中的数据的罚款。
正在看着的HTML数据是:
<tr>
<td>DATA 1</td>
<td><a href="12345">DATA 2</a></td>
<td>DATA 3</td>
</tr>
的$array_data
回报:
Array([0])=>DATA 1 [1]=>DATA 2 [2]=> DATA 3)
我期望的输出是获得代码出与该网页上相关联的<a>
标签。所需的输出:
Array([0])=>DATA 1 [1]=>12345 [2]=>DATA 2 [3]=> DATA 3)
我觉得<a>
会被称为子节点,我很新的使用DOM对不起工作,如果这似乎是一个愚蠢的问题。
我已阅读SO链接: Using PHP dom to get child elements
我用这个代码,以挑选出在href:
foreach ($dom->getElementsByTagName('td') as $node) {
foreach ($node->getElementsByTagName('a') as $node){
$link = $node->getAttribute('href');
echo '<br>';
echo $link;
}
$array_data[ ] = $node->nodeValue;
}
任何帮助或指针其他阅读材料将大大appreicated!
谢谢
我张贴的答案解决您的问题。那么为什么你改变了问题?你有什么问题? – Mohammad
感谢您的解决方案穆罕默德。我正在阅读其他SO帖子,以便同时找到解决方案。一旦我在SO帖子上发现了一些东西,我就在我的问题中发布了更新后的代码。 – Jeanclaude