2017-05-04 115 views
1

我從來沒有使用過dom文檔,需要一些幫助。
我試圖看看其他線程和其他教程,但我不明白我做錯了。Dom文檔解析

這是該頁面:https://aro.lfv.se/Links/Link/ViewLink?TorLinkId=310&type=MET
這是html的一小部分;

 <h1 class="tor-link-header">&#214;versikt</h1> 
      <pre class="linkTextNormal">&#214;VERSIKT F&#214;R OMR&#197;DE E UTF&#196;RDAD 040753 
G&#196;LLANDE DEN 4 MAJ 2017 MELLAN 08 OCH 16 UTC 


V&#228;der&#246;versikt 
Se v&#228;der&#246;versikt f&#246;r omr&#229;de A+B 

Sikt under 5 kilometer eller molnbas under 1000 fot 
V&#228;ntas inte f&#246;rekomma under perioden. 

M&#229;ttlig eller sv&#229;r isbildning 
V&#228;ntas inte f&#246;rekomma under perioden 

M&#229;ttlig eller sv&#229;r turbulens 
08-16UTC: I hela omr&#229;det</pre> 
     <h1 class="tor-link-header">Hela Omr&#229;de E</h1> 
      <pre class="linkTextNormal">PROGNOS F&#214;R OMR&#197;DE J UTF&#196;RDAD 040753 
G&#196;LLANDE DEN 4 MAJ 2017 MELLAN 08 OCH 16 UTC 

我發現,在整個HTML有隻有兩個<pre>標籤,兩者是對我有意思。

我發現這個代碼(微調它適合我的代碼),但它不起作用。

$doc = new DOMDocument(); 
$doc->load($URL_LHP); 

$Parts = $doc->getElementsByTagName('pre'); 
$Part = $Parts->item(0); 
var_dump($Part); 

foreach($Parts as $Part){ 
    echo $Part; 
} 

var_dump返回NULL,並且echo不返回任何內容。 $ URL_LHP是字符串格式的HTML。
如果我回顯$ URL_LHP它將回顯網頁,但與「死」的圖像,沒有CSS。
所以這個變量就是我所期望的。

任何人都可以幫助我嗎?

+1

它通常不是一個好主意,有有也多一個變量名,即'部分'和'部件'在你的情況下。這是因爲只有一個字母差異,在發生錯誤時很難發現。 –

+0

真的..但現在我只是想讓它工作,後來我可以理清微調。正如我所說我找到了代碼。 – Andreas

+0

首先檢查'$ doc-> load'的返回值,看看DomDocument是否能夠解析輸入數據。 – CBroe

回答

1

這可能會爲你工作:

$html = file_get_contents("https://aro.lfv.se/Links/Link/ViewLink?TorLinkId=310&type=MET"); 
$dom = new DOMDocument(); 
@$dom->loadHTML($html); 
$pres = $dom->getElementsByTagName('pre'); 

foreach($pres as $pre) 
{ 
    print $pre->nodeValue; 
} 

輸出繼電器:

ÖVERSIKT FÖR OMRÅDE E UTFÄRDAD 040753 
GÄLLANDE DEN 4 MAJ 2017 MELLAN 08 OCH 16 UTC 
... 
+0

它輸出一些東西。所以它似乎工作。謝謝! – Andreas

+1

我還不能接受。另外2分鐘 – Andreas

+1

58秒鐘.... – Andreas