2012-05-15 47 views
1

我正嘗試使用以下代碼從網站獲取電子郵件帳戶。但它產生了讓像PHP DOMDocument運行不正常

%3e%61%2f%3c%6d%6f%63%2e%6c%69%61%6d%67%40%6f%63%73%6e%61%69%70%6d%61%20%3e%22%6d%6f%63%2e%6c%69%61%6d%67%40%6f%63%73%6e%61%69%70%6d%61%3a%6f%74%6c%69%61%6d%22%3d%66%65%72%68%20%61%3c %3e%61%2f%3c%6d%6f%63%2e%65%76%69%6c%40%34%34%34%73%71%20%3e%22%6d%6f%63%2e%65%76%69%6c%40%34%34%34%73%71%3a%6f%74%6c%69%61%6d%22%3d%66%65%72%68%20%61%3c %3e%61%2f%3c%6e%69%2e%70%6f%68%73%6c%61%74%69%67%69%64%6e%65%67%79%78%6f%40%6f%66%6e%69%20%3e%22%6e%69%2e%70%6f%68%73%6c%61%74%69%67%69%64%6e%65%67%79%78%6f%40%6f%66%6e%69%3a%6f%74%6c%69%61%6d%22%3d%66%65%72%68%20%61%3c %3e%61%2f%3c%6d%6f%63%2e%73%6e%61%72%6f%6f%6a%6e%61%6d%40%6f%66%6e%69%20%3e%22%6d%6f%63%2e%73%6e%61%72%6f%6f%6a%6e%61%6d%40%6f%66%6e%69%3a%6f%74%6c%69%61%6d%22%3d%66%65%72%68%20%61%3c %3e%61%2f%3c%6d%6f%63%2e%6c%69%61%6d%67%40%6c%65%74%6f%68%61%79%69%72%70%20%3e%22%6d%6f%63%2e%6c%69%61%6d%67%40%6c%65%74%6f%68%61%79%69%72%70%3a%6f%74%6c%69%61%6d%22%3d%66%65%72%68%20%61%3c %3e%61%2f%3c%6d%6f%63%2e%6c%69%61%6d%67%40%61%72%70%61%6e%6e%75%70%68%63%72%75%68%63%79%65%6e%6e%61%79%69%76%20%3e%22%6d%6f%63%2e%6c%69%61%6d%67%40%61%72%70%61%6e%6e%75%70%68%63%72%75%68%63%79%65%6e%6e%61%79%69%76%3a%6f%74%6c%69%61%6d%22%3d%66%65%72%68%20%61%3c %3e%61%2f%3c%6d%6f%63%2e%6c%69%61%6d%67%40%74%6e%65%6d%65%67%6e%61%6d%65%72%6f%63%6e%61%76%61%72%74%20%3e%22%6d%6f%63%2e%6c%69%61%6d%67%40%74%6e%65%6d%65%67%6e%61%6d%65%72%6f%63%6e%61%76%61%72%74%3a%6f%74%6c%69%61%6d%22%3d%66%65%72%68%20%61%3c %3e%61%2f%3c%6d%6f%63%2e%6b%75%65%67%6e%61%68%63%78%65%74%6e%65%6d%79%6f%6c%70%6d%65%65%68%74%40%68%73%65%72%75%73%20%3e%22%6d%6f%63%2e%6b%75%65%67%6e%61%68%63%78%65%74%6e%65%6d%79%6f%6c%70%6d%65%65%68%74%40%68%73%65%72%75%73%3a%6f%74%6c%69%61%6d%22%3d%66%65%72%68%20%61%3c %3e%61%2f%3c%6d%6f%63%2e%6c%69%61%6d%67%40%68%70%6e%6f%6d%62%61%6a%75%73%20%3e%22%6d%6f%63%2e%6c%69%61%6d%67%40%68%70%6e%6f%6d%62%61%6a%75%73%3a%6f%74%6c%69%61%6d%22%3d%66%65%72%68%20%61%3c 

我使用的代碼是

<?php  
$html = new DOMDocument(); 
@$html->loadHtmlFile('http://www.quickerala.com/listings?searchString=&districtId=1&go=Go'); 
$xpath = new DOMXPath($html); 
$nodelist = $xpath->query("//span[@class='listEmail']"); 
foreach ($nodelist as $n){ 
    echo $n->nodeValue."\n"; 
} 
?> 
+0

在您的Internet Explorer,右鍵單擊該網頁,然後單擊查看源代碼。你會看到它是正確的。 – goat

回答

2

不,這其實是正確的。你必須手動urldecode我想。

糾正,您還必須strrev它。

這可能是垃圾郵件防護;從他們的代碼,我設法解除這塊金塊的代碼:

$(".listEmail").each(function(index){ 
    var strEm = unescape($(this).html()); 
    var reversedStr=strEm.split("").reverse().join(""); 
    $(this).html(reversedStr)}); 
} 

所以:

$value = strrev(urldecode($n->nodeValue)); 

這仍然會返回一個HTML的一部分,所以你必須解析以及:)

+0

如何做到這一點?請幫助我.. – user1396530

+0

感謝您的支持。但是現在我正在接觸其他一些角色。我正在嘗試從http://www.quickerala.com/listings?searchString=&districtId=1&go=Go頁面獲取電子郵件。請幫助我 – user1396530

+2

@ user1396530只是放鬆,說'請幫助我'不會讓人幫你更難;-)更新我的PHP代碼的答案。 –