-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();
?>

そのページのコンテンツを取得できません。

<!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>

しかし、私はそのページのコンテンツを取得する必要があります。

4

3 に答える 3

2

DOMDocumentクラスは明らかに文字列ではありません。繰り返して操作を実行することはできますが、エコーすることはできません。ドキュメントをチェックして、それを使って何ができるかを確認してください:http ://www.php.net/domdocument

ページのコンテンツを取得するには、を使用するfile_get_contentsか、echo $doc->saveHTML()

編集:コードに別の問題があることに気づいていませんでした。代わりにこれを使用できます。

public function _process() {
    return file_get_contents('http://www.oppapers.com/essays/Computerized-World/160871?read_essay');
}
于 2012-04-23T07:24:21.403 に答える
1
<?php
    $doc->saveHTML();
?>

チャームのように機能します。

于 2013-01-08T14:57:18.173 に答える
0

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

于 2012-04-23T07:27:11.037 に答える