2016-10-16 21 views
0

我正在處理這個小問題。通過任務,我想從HTML頁面提取hrefs和標題,但每個標籤都沒有title屬性。如果我只想從標籤中打印具有href和title屬性的數據,我該怎麼辦?如何指定更多html解析代碼?

<?php 
$searched = file_get_contents('http://technologijos.lt'); 
$html = new DOMDocument(); 
@$html->loadHTML($searched); 

$links = []; 
$i = 0; 
foreach($html->getElementsByTagName('a') as $lnk) 
{ 
$i++; 
$links[] = sprintf(
    ' %s '.$i.' %s '.$i.'', 
    $lnk->getAttribute('title'), 
    $lnk->getAttribute('href') 
); 
echo (implode("\r\n", $links)); 

} 
file_put_contents("data.txt", implode("\n", $links), FILE_APPEND); 

?> 

回答

0

這應該做的伎倆:

$searched = file_get_contents('http://technologijos.lt'); 
$html = new DOMDocument(); 
@$html->loadHTML($searched); 

$links = []; 
$i = 0; 
foreach($html->getElementsByTagName('a') as $lnk) 
{ 
    if (!empty($lnk->getAttribute('title')) && !empty($lnk->getAttribute('href'))){ 
     $i++; 
     $links[] = sprintf(
      ' %s '.$i.' %s '.$i.'', 
      $lnk->getAttribute('title'), 
      $lnk->getAttribute('href')); 
    } 
} 
+0

嘿,幾乎幫助,但我們需要使用空(),而不是is_empty()。不管怎樣,謝謝! –

+0

對不起,請檢查更新 – Cristian