DOM脚本getElementsByID - 链接

时间:2015-11-08 11:08:34

标签: php html dom

我正在学习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;
&#13;
&#13;

<?php $div1 = $dom->getElementById('articleList1');
 $href = $div1->getElementsByTagName('a');


 foreach ($href as $hrefs) {
  $link = $hrefs->getAttribute('href');
}

echo '<a href ="'.$link.'">'.$link.'<br>'); ?>

但是,此脚本不起作用。而且我不知道为什么它不起作用? 感谢所有答案。

2 个答案:

答案 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');
        }
    }
?>