0

http://simplehtmldom.sourceforge.net/の HTML DOM パーサーを使用しています

次に、ソース リンクのカウントダウン JavaScript からテキストを取得できないという問題があります。

ソースからのコード: (これはカウントダウン JavaScript です)

<div class="timeSection" align="right" style="width:285px;margin:132px 0 0 -50px;position:absolute;">
<div style="width:285px; height:58px;"></div>

<div id="countdown_575" style="padding-left:50px;" class="hasCountdown"><table cellspacing="5" cellpadding="0" width="230" style="" border="0"><tbody><tr><td width="75" align="center">111</td><td width="40" align="center">50</td><td width="70" align="center">49</td></tr></tbody></table></div> 
<script type="text/javascript">                         
                                jQuery('#countdown_575').countdown({until: +402717 , compact: true,timeSeparator: '',expiryText:'Expired',format:'HMS',expiryUrl:'http://www.ensogo.com.ph/manila/',layout:'<table cellspacing="5" cellpadding="0" width="230" style="" border = "0">' +
                                    '<tr><td width="75" align="center">{hnn}</td><td width="40" align="center">{mnn}</td><td width="70" align="center">{snn}</td></tr></table>'});                              
</script>                           
</div>

私のコード:

foreach($ColumnHTML->find('.timeSection') as $getTime)
{
    $Temp_Time = $getTime->innertext;

    $TimeCode = str_get_html($Temp_Time);

    foreach($TimeCode->find('td[width=75]') as $getHour)
    {
        $Hour = $getHour->plaintext;
    }

    foreach($TimeCode->find('td[width=40]') as $getMinute)
    {
        $Minute = $getMinute->plaintext;
    }

    foreach($TimeCode->find('td[width=70]') as $getSecond)
    {
        $Second = $getSecond->plaintext;
    }

    echo $Hour.":".$Minute.":".$Second . "<br/>";
}

次に出力: (コロン付きの空白)

::
4

2 に答える 2

0

これらの値は JavaScript を介してクライアント側の DOM に動的に挿入されるため、これは機能しません。サーバーでこれらの値をキャプチャする場合は、フォームを使用して送信できます。

于 2011-05-02T08:56:06.997 に答える
0

PHPを介してhtmlを解析すると、JavaScriptが実行されないため、結果が得られません。あなたがやろうとしていることは不可能です。これを行う簡単な方法は、javascript で ajax を使用してカウンターを (おそらくセッションまたはデータベース テーブルに) 格納することです。

于 2011-05-02T09:05:51.090 に答える