简单范例
<span class="pun"><?</span><span class="pln">php</span><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><span class="pln">include </span><span class="str">"simple_html_dom.php"</span><span class="pln"> </span><span class="pun">;</span> <span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(136, 136, 136); font-size: 12px;"><span class="com">// Create DOM from URL or file</span></span><br style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;" /><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln">$html </span><span class="pun">= </span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln">file_get_html</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">(</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(119, 0, 0); font-size: 12px;"><span class="str">'http://www.google.com/'</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">);</span></span><br style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;" /><br style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;" /><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(136, 136, 136); font-size: 12px;"><span class="com">// Find all images </span></span><br style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;" /><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="kwd">foreach</span><span class="pun">(</span><span class="pln">$html</span><span class="pun">-></span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln">find</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">(</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(119, 0, 0); font-size: 12px;"><span class="str">'img'</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">)</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $element</span><span class="pun">) </span></span><br style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;" /><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln"> echo $element</span><span class="pun">-></span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln">src</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln"> </span><span class="pun">. </span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(119, 0, 0); font-size: 12px;"><span class="str">'<br>'</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">;</span></span><br style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;" /><br style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;" /><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(136, 136, 136); font-size: 12px;"><span class="com">// Find all links </span></span><br style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;" /><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="kwd">foreach</span><span class="pun">(</span><span class="pln">$html</span><span class="pun">-></span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln">find</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">(</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(119, 0, 0); font-size: 12px;"><span class="str">'a'</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">)</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $element</span><span class="pun">) </span></span><br style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;" /><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln"> echo $element</span><span class="pun">-></span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln">href</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln"> </span><span class="pun">. </span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(119, 0, 0); font-size: 12px;"><span class="str">'<br>'</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">;</span></span> </p>
<p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;">
<span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(136, 136, 136); font-size: 12px;"><span class="com">// Create DOM from URL</span></span><br style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;" /><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln">$html </span><span class="pun">= </span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln">file_get_html</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">(</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(119, 0, 0); font-size: 12px;"><span class="str">'http://slashdot.org/'</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">);</span></span><br style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;" /><br style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;" /><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(136, 136, 136); font-size: 12px;"><span class="com">// Find all article blocks</span></span><br style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;" /><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="kwd">foreach</span><span class="pun">(</span><span class="pln">$html</span><span class="pun">-></span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln">find</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">(</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(119, 0, 0); font-size: 12px;"><span class="str">'div.article'</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">)</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> $article</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span></span><br style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;" /><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln"> $item</span><span class="pun">[</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(119, 0, 0); font-size: 12px;"><span class="str">'title'</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">] =</span><span class="pln"> $article</span><span class="pun">-></span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln">find</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">(</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(119, 0, 0); font-size: 12px;"><span class="str">'div.title'</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">, </span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(119, 0, 0); font-size: 12px;"><span class="lit">0</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">)-></span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln">plaintext</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">;</span></span><br style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;" /><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln"> $item</span><span class="pun">[</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(119, 0, 0); font-size: 12px;"><span class="str">'intro'</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">] =</span><span class="pln"> $article</span><span class="pun">-></span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln">find</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">(</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(119, 0, 0); font-size: 12px;"><span class="str">'div.intro'</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">, </span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(119, 0, 0); font-size: 12px;"><span class="lit">0</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">)-></span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln">plaintext</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">;</span></span><br style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;" /><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln"> $item</span><span class="pun">[</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(119, 0, 0); font-size: 12px;"><span class="str">'details'</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">] =</span><span class="pln"> $article</span><span class="pun">-></span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln">find</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">(</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(119, 0, 0); font-size: 12px;"><span class="str">'div.details'</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">, </span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(119, 0, 0); font-size: 12px;"><span class="lit">0</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">)-></span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln">plaintext</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">;</span></span><br style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;" /><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln"> $articles</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $item</span><span class="pun">;</span></span><br style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;" /><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">}</span></span><br style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;" /><br style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;" /><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln">print_r</span><span class="pun">(</span><span class="pln">$articles</span><span class="pun">);</span></span>
</p>
<p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"> <span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(136, 136, 136); font-size: 12px;"><span class="com">// Create DOM from string</span></span><br style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;" /><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln">$html </span><span class="pun">= </span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln">str_get_html</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">(</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(119, 0, 0); font-size: 12px;"><span class="str">'<div id="hello">Hello</div><div id="world">World</div>'</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">);</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(136, 136, 136); font-size: 12px;"> </span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln">$html</span><span class="pun">-></span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln">find</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">(</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(119, 0, 0); font-size: 12px;"><span class="str">'div'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">)-></span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="kwd">class</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln"> = </span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(119, 0, 0); font-size: 12px;"><span class="str">'bar'</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">;</span></span><br style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;" /><br style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;" /><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln">$html</span><span class="pun">-></span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln">find</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">(</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(119, 0, 0); font-size: 12px;"><span class="str">'div[id=hello]'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">)-></span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln">innertext</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln"> = </span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(119, 0, 0); font-size: 12px;"><span class="str">'foo'</span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pun">;</span></span><br style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;" /><br style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;" /><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(0, 33, 102); font-size: 12px;"><span class="pln">echo $html</span><span class="pun">; </span></span><span style="line-height: 14px; background-color: rgb(246, 246, 246); font-family: Monaco, Verdana, sans-serif; white-space: normal; color: rgb(136, 136, 136); font-size: 12px;"><span class="com">// Output: <div id="hello"></span><strong><span class="com">foo</span></strong><span class="com"></div><div id="world" </span><strong><span class="com">class="bar"</span></strong><span class="com">>World</div></span></span> </p>
3.DOM的方法
$html =
file_get_html
(
'http://www.google.com/'
); //
$html 所拥有的方法如下表所示
$html->clear() ; //
调用方法
DOM
methods & properties
| Name | Description |
|---|---|
|
void
__construct ( [string $filename] ) | Constructor, set the filename parameter will automatically load the contents, either text or file/url. |
|
string
plaintext | Returns the contents extracted from HTML. |
|
void
clear () | Clean up memory. |
|
void
load ( string $content ) | Load contents from a string. |
|
string
save ( [string $filename] ) | Dumps the internal DOM tree back into a string. If the $filename is set, result string will save to file. |
|
void
load_file ( string $filename ) | Load contents from a from a file or a URL. |
|
void
set_callback ( string $function_name ) | Set a callback function. |
|
mixed
find ( string $selector [, int $index] ) | Find elements by the CSS selector. Returns the Nth element object if index is set, otherwise return an array of object. |
4.find 方法详细介绍
find ( string $selector [, int $index] )
// Find all anchors, returns a array of element objects
$ret = $html->find( 'a' );
// Find (N)th anchor, returns element object or null if not found (zero based)
$ret = $html->find( 'a', 0 );
// Find lastest anchor, returns element object or null if not found (zero based)
$ret = $html->find( 'a', -1 );
// Find all <div> with the id attribute
$ret = $html->find( 'div[id]' );
// Find all <div> which attribute id=foo
$ret = $html->find( 'div[id=foo]' );
$ret = $html->find( 'a' );
// Find (N)th anchor, returns element object or null if not found (zero based)
$ret = $html->find( 'a', 0 );
// Find lastest anchor, returns element object or null if not found (zero based)
$ret = $html->find( 'a', -1 );
// Find all <div> with the id attribute
$ret = $html->find( 'div[id]' );
// Find all <div> which attribute id=foo
$ret = $html->find( 'div[id=foo]' );
// Find all element which id=foo
$ret = $html->find( '#foo' );
// Find all element which class=foo
$ret = $html->find( '.foo' );
// Find all element has attribute id
$ret = $html->find( '*[id]' );
// Find all anchors and images
$ret = $html->find( 'a, img' );
// Find all anchors and images with the "title" attribute
$ret = $html->find( 'a[title], img[title]' );
$ret = $html->find( '#foo' );
// Find all element which class=foo
$ret = $html->find( '.foo' );
// Find all element has attribute id
$ret = $html->find( '*[id]' );
// Find all anchors and images
$ret = $html->find( 'a, img' );
// Find all anchors and images with the "title" attribute
$ret = $html->find( 'a[title], img[title]' );
// Find all <li> in <ul>
$es = $html->find( 'ul li' );
// Find Nested <div> tags
$es = $html->find( 'div div div' );
// Find all <td> in <table> which class=hello
$es = $html->find( 'table.hello td' );
// Find all td tags with attribite align=center in table tags
$es = $html->find( ''table td[align=center]' );
$es = $html->find( 'ul li' );
// Find Nested <div> tags
$es = $html->find( 'div div div' );
// Find all <td> in <table> which class=hello
$es = $html->find( 'table.hello td' );
// Find all td tags with attribite align=center in table tags
$es = $html->find( ''table td[align=center]' );
5. Element 的方法
$e = $html->find(
"div"
,
0
); //
$e 所拥有的方法如下表所示
| Attribute Name | Usage |
|---|---|
| $e->tag | Read or write the tag name of element. |
| $e->outertext | Read or write the outer HTML text of element. |
| $e->innertext | Read or write the inner HTML text of element. |
| $e->plaintext | Read or write the plain text of element. |
// Example
$ html = str_get_html ( "<div>foo <b>bar</b></div>" ) ;
$e = $html->find( "div" , 0 );
$ html = str_get_html ( "<div>foo <b>bar</b></div>" ) ;
$e = $html->find( "div" , 0 );
echo $e-> tag ; // Returns: " div"
echo $e-> outertext ; // Returns: " <div>foo <b>bar</b></div>"
echo $e-> innertext ; // Returns: " foo <b>bar</b>"
echo $e-> plaintext ; // Returns: " foo bar"
6.DOM traversing 方法
| Method | Description |
|---|---|
|
mixed
$e->children ( [int $index] ) | Returns the Nth child object if index is set, otherwise return an array of children. |
|
element
$e->parent () | Returns the parent of element. |
|
element
$e->first_child () | Returns the first child of element, or null if not found. |
|
element
$e->last_child () | Returns the last child of element, or null if not found. |
|
element
$e->next_sibling () | Returns the next sibling of element, or null if not found. |
|
element
$e->prev_sibling () | Returns the previous sibling of element, or null if not found. |
// Example
echo $html-> find ( "#div1", 0 )-> children ( 1 )-> children ( 1 )-> children ( 2 )-> id ;
// or
echo $html-> getElementById ( "div1" )-> childNodes ( 1 )-> childNodes ( 1 )-> childNodes ( 2 )-> getAttribute ( 'id' );
echo $html-> find ( "#div1", 0 )-> children ( 1 )-> children ( 1 )-> children ( 2 )-> id ;
// or
echo $html-> getElementById ( "div1" )-> childNodes ( 1 )-> childNodes ( 1 )-> childNodes ( 2 )-> getAttribute ( 'id' );
附带: DOM方法
set_callback
(
'my_callback'
) 使用方法
// Write a function with parameter "$element"
function my_callback( $element ) {
// Hide all <b> tags
if ($element->tag== 'b' )
$element->outertext = '';
}
// Register the callback function with it's function name
$html-> set_callback ( 'my_callback' );
// Callback function will be invoked while dumping
echo $html;
function my_callback( $element ) {
// Hide all <b> tags
if ($element->tag== 'b' )
$element->outertext = '';
}
// Register the callback function with it's function name
$html-> set_callback ( 'my_callback' );
// Callback function will be invoked while dumping
echo $html;
本文通过实例解析PHP DOM解析库的基本使用方法,包括从URL或文件创建DOM、查找图片、链接、文章块等操作,并展示了如何遍历DOM结构。
8066

被折叠的 条评论
为什么被折叠?



