HTML DOM Parser не может получить обратный отсчет JavaScript - PullRequest
0 голосов
/ 02 мая 2011

Я использую HTML DOM Parser из http://simplehtmldom.sourceforge.net/

, тогда у меня проблема, которая не может получить текст из 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/>";
}

затем Вывод: (пусто с двоеточием)

::

Ответы [ 2 ]

0 голосов
/ 02 мая 2011

Когда вы анализируете html через php, javascript не выполняется, поэтому вы не получите результат. То, что вы пытаетесь сделать, не возможно. Простой способ сделать это - использовать ajax в вашем javascript для хранения вашего счетчика (может быть, в сеансе или в таблице базы данных).

0 голосов
/ 02 мая 2011

Это не сработает, поскольку эти значения динамически вставляются в DOM на стороне клиента через JavaScript. Если вы хотите захватить эти значения на сервере, вы можете отправить их, используя форму.

...