好吧,所以我一直在與此戰鬥一段時間,所以也許有人可以幫助我。php簡單的DOM解析器
我試着去得到這個HTML電子郵件中的鏈接:
<div id="field_11" class="fieldRow span12 lastFieldRow">
<span class="caption">E-mail</span>
<span class="output">
<script type="text/javascript">
<!--
document.write('<a hr'+'ef="mai'+'lto'+':'+
'%40;%67;%6d;%61;%69;%6c;<\/a>');
//-->
</script>
<a href="mailto:%40%67%6d%61%69%6c">@mail</a>
</span>
</div>
我試着去獲取HTML代碼「@mail」的一部分,在href =後「的mailto:...」部分。不是document.write()部分,而是代碼中的最後一個標記。
由於某種原因,當我試圖讓輸出類的標籤跨度的孩子,它認爲它只有1個孩子是腳本標籤,但我似乎無法抓住電子郵件純文本。
到目前爲止我有:
$target_url = "some_web_site";
$html = new simple_html_dom();
$html->load_file($target_url);
foreach($html->find('span[class=output]') as $d){
echo $d->children(1)->plaintext . "<br />";
}
任何幫助嗎?
你的代碼應該工作,它的輸出(或錯誤信息)是什麼? –
它打印出一堆這些錯誤:注意:嘗試獲取非對象的屬性在/Applications/MAMP/htdocs/webcrawler/index.php在線224 – user3586322
聽起來像你的'load_file()'沒有加載正確。你可以嘗試刪除第二行和第三行(兩者都以'$ html'開始,並替換爲'$ html = file_get_html($ target_url);'? –