2011-03-14 73 views
1

我想從這個網址PHP如何在這種情況下獲得html原始代碼?

http://www.ladige.it/news/2008_lay_notizia_01.php?id_cat=4&id_news=100152

我試圖simple html domphp regular-expression獲取文本betweeen <td valign="top" class="notizia_testo"></td>,但沒有返回。我檢查了HTML原始代碼,並複製它們爲:

<?php 
$str = <<<EOT 
//all the html raw code 
EOT; 
preg_match_all("|<td valign=\"top\" class=\"notizia_testo\">([^^]*?)</td>|u", $str, $matches1); 
print_r($matches1); 
?> 

我終於找到了故障可能造成的:

line 762  <!?php include($_SERVER["DOCUMENT_ROOT"]."/include/adv/manzoni_bigrect.php"); ?> 

如何通過這條線,併爲我工作?謝謝。

+1

什麼,如果有的話,錯誤信息你好嗎? – mdm 2011-03-14 09:51:30

+0

@mdm,我想要在'','simple html dom'和'regular-expression'中返回文本,並在'<<< EOT ',調用'解析錯誤:語法錯誤,意外''',期待T_STRING或T_VARIABLE或T_NUM_STRING在...第762行,你有什麼想法嗎? – 2011-03-14 10:08:19

+0

' Wiseguy 2011-03-14 10:42:36

回答

4

您可以通過簡單地使用simple_html_dom如下得到的結果,

require 'simplehtmldom/simple_html_dom.php'; 

    $data = file_get_contents('http://www.ladige.it/news/2008_lay_notizia_01.php?id_cat=4&id_news=100152'); 
    $oHTML = str_get_html($data); 
    $oTDs = $oHTML->find('table tr td.notizia_testo'); 
    $result = array(); 
    foreach($oTDs as $oTD) { 
     $result[] = trim($oTD->plaintext); 
    } 
    echo "<pre>"; 
    var_dump($result); 
    echo "</pre>";