我正在学习php和DOM。我有问题。所以,我正在努力改进和理解以下内容。我有一些与ID div的链接,我正在附加事件:
<div id='articleList1' >
<div class="hotOne">
<a class="" href="http://link1/index.html" >
<span class="itemTitle">
1 title
</span>
<img src="1.jpg" class=""
alt="1"
title="1"
border="0"
/>
</a>
</div>
<div class="hotThree">
<ul>
<li class="item item1 ">
<a href="http://link2/index.html" title="2" >
<span class="itemTitle">
2 title
</span> <img src="2.jpg" class=""
alt="2"
title="2"
border="0"
/> <p> 2 tekst </span> </p> </a>
</li>
<li class="item item2 ">
<a href="http://link3.html" title="3" >
<span class="itemTitle">
3 title
</span> <img src="3.jpg" class=""
alt="3"
title="3"
border="0"
/> <p> 3 tekst </span> </p> </a>
</li>
</div>
&#13;
<?php $div1 = $dom->getElementById('articleList1');
$href = $div1->getElementsByTagName('a');
foreach ($href as $hrefs) {
$link = $hrefs->getAttribute('href');
}
echo '<a href ="'.$link.'">'.$link.'<br>'); ?>
但是,此脚本不起作用。而且我不知道为什么它不起作用? 感谢所有答案。
答案 0 :(得分:0)
迭代$ hrefs - 请参阅dingle href而不是list:
foreach ($href as $hrefs) {
$link = $href->getAttribute('href'); //not $hrefs->
}
答案 1 :(得分:0)
您的HTML标记非常糟糕 - 有些错误无法帮助您使用DOM。
<div id='articleList1' >
<div class="hotOne">
<a class="" href="http://link1/index.html" >
<span class="itemTitle">1 title</span>
<img src="1.jpg" class="" alt="1" title="1" border="0" />
</a>
</div>
<div class="hotThree">
<ul>
<li class="item item1 ">
<a href="http://link2/index.html" title="2" >
<span class="itemTitle">2 title</span>
<img src="2.jpg" class="" alt="2" title="2" border="0" />
<p>2 tekst</p><!-- <~~~ error here previously -->
</a>
</li>
<li class="item item2 ">
<a href="http://link3.html" title="3" >
<span class="itemTitle">3 title</span>
<img src="3.jpg" class="" alt="3" title="3" border="0" />
<p>3 tekst</p><!-- <~~~ error here previously -->
</a>
</li>
</ul><!-- missing -->
</div>
</div><!-- missing -->
<?php
$col=$dom->getElementsByTagName('a');
foreach( $col as $node ){
if( $node->nodeType===XML_ELEMENT_NODE && $node->hasAttribute('href') ){
echo $node->getAttribute('href');
}
}
?>