2012-04-23 11 views
-2
<?php 
    class parsedictionary { 
     public function _process() { 
      $webpage="http://www.oppapers.com/essays/Computerized-World/160871?read_essay"; 
      $doc=new DOMDocument(); 
      $doc->loadHTML($webpage); 
      echo $doc; 
     } 
    } 
    $obj=new parsedictionary(); 
    $obj->_process(); 
?> 

私はそのページの内容を取得できません。php5 domdocumentを使用してWebページのコンテンツを読み込めません

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> 
<html> 
    <body> 
     <p>http://www.oppapers.com/essays/Computerized-World/160871?read_essay</p> 
    </body> 
</html> 

しかし、私はそのページの内容を取得する必要があります。

答えて

2

DOMDocumentクラスは明らかに文字列ではありません。それを反復処理したり、操作を実行したりすることはできますが、エコーすることはできません。あなたはそれで何ができるか見るためにマニュアルを参照してください:あなたはfile_get_contentsを使用するか、http://www.php.net/domdocument

は、ページの内容を取得したり、やるecho $doc->saveHTML()

編集:あなたのコードで別の問題があった実現しませんでした;

public function _process() { 
    return file_get_contents('http://www.oppapers.com/essays/Computerized-World/160871?read_essay'); 
} 
+0

私はそのページの内容を取得しようとしていました。元の質問を編集しました。 – shibly

0

この場合、エラーはかなり明確です。 _process()メソッドは、あるデータ型から別のデータ型に変換することはできません。String型であり、DomDocumentを使用しています。おそらく、最初にDomDocumentのすべてのテキストを文字列として抽出し、それを_process()メソッドに送信するようにしてください。

+0

私はそのページの内容を取得しようとしていました。元の質問を編集しました。 – shibly

1
<?php 
    $doc->saveHTML(); 
?> 

魅力的な作品です。

関連する問題