2013-02-08 32 views
0

我正在使用這個類來抓取類中的所有td的內容。如何格式化這個被刪除的內容

$table01 = $salary->find('table.table01'); 
$rows = $table01[0]->find('td.job'); 

然後我使用這個輸出是其工作原理,但顯然只是將其作爲明文,我需要用它做一些更多...

foreach($table01[0]->find('td.job') as $element) { 
$jobs .= $element->plaintext . '<br />'; 
} 

最後,我想它輸出到這種格式。請注意,href正在使用作業名稱並將空格和/替換爲 - 。

<tr> 
    <td class="small"> <a href="/graphic-artist-designer">Graphic Artist/Designer</a> 
    $23,755 – $55,335 </td> 
</tr> 
<tr> 
    <td class="small"> <a href="/sales-associate">Sales Associate</a><br /> 
    $15,577 – $56,290 </td> 
</tr> 
<tr> 
    <td class="small"> <a href="/film-video-editor">Film/Video Editor</a><br /> 
    $24,184 – $94,493 </td> 
</tr> 

繼承人的表IM刮

<table cellpadding="0" cellspacing="0" border="0" class="table01"> 

<tr> 
    <td class="head">Test</td> 
    <td class="job"> 
    <a href="/Graphic_Artist_%2f_Designer" id="UniqueID1">Graphic Artist/Designer</a><br/> 
    $23,755 – $55,335 
    </td> 
</tr> 

<tr> 
    <td class="head">Test</td> 
    <td class="job"> 
    <a href="/Sales_Associate" id="UniqueID2">Sales Associate</a><br/> 
    $15,577 – $56,290 
    </td> 
</tr> 

<tr> 
    <td class="head">Test</td> 
    <td class="job"> 
    <a href="/Film_%2f_Video_Editor" id="UniqueID3">Film/Video Editor</a><br/> 
    $24,184 – $94,493 
    </td> 
</tr> 

</table> 

回答

0

可能是更好的使用正則表達式

<?php 
$html=file_get_contents('1.html'); 
$jobs=''; 
if(preg_match_all("/<tr>.*?<td.*?>.*?<\/td>.*?<td\sclass=\"job\">.*?<a.+?href=\"(.+?)\".+?>(.*?)<\/a>(.*?)<\/td>.*?<\/tr>/ims", $html, $res)) 
{ 
    foreach($res[1] as $i=>$uri) 
    { 
    $uri=strtolower(urldecode($uri)); 
    $uri=preg_replace("/_\/_/",'-',$uri); 
    $uri=preg_replace("/_/",'-',$uri); 
    $jobs.='<tr><td class="small"> <a href="'.$uri.'">'.$res[2][$i].'</a>'.$res[3][$i].'</td></tr>'."\n"; 
    } 
} 
echo $jobs;