0

サイトポイント JavaScript フォーラムのすべてのトピックの最初の投稿を破棄しようとしていました。しかし、DOM パーサーは、SITE POINT JAVASCRIPT FORUM のすべてのトピックのすべての投稿を提供してくれます。DOM を正しくトラバースしなかったのでしょうか? 以下は私のコードです:

<?php

class Sitepoint extends Controller
{
    public function index()
    {
        $this->load->helper('dom');
        header('Content-Type: text/html; charset=utf-8');
        echo '<ol>';

            $html = file_get_html('http://www.sitepoint.com/forums/javascript-15');

            foreach($html->find('a[id^="thread_title"]') as $topic) {
                $post =$topic->href;
                $posthtml = file_get_html($post);
                $posthtml->find('div[id^="post_message"]', 0);
                echo'<li>';
                echo $topic->plaintext.'<br>';
                echo $posthtml->plaintext.'<br>';
                echo'</li>';
            }
        echo '</ol>';
    }
}
4

1 に答える 1

1

$posthtml->findの結果を変数に代入するのを忘れました:

foreach($html->find('a[id^="thread_title"]') as $topic) {
    $post =$topic->href;
    $posthtml = file_get_html($post);
    $posttext = $posthtml->find('div[id^="post_message_"]', 0);
    echo'<li>';
    echo $topic->plaintext.'<br>';
    echo $posttext->plaintext.'<br>';
    echo'</li>';
}
于 2011-03-10T15:02:50.317 に答える