2017-01-09 48 views
0

這是表結構,我從HTML頁面獲取源 -PHP數據提取在TD

<table id="company">    
    <tr class="alt"> 
     <td width="60%"><b>Trading Code:</b> BATBC</td> 
     <td width="40%"><b>Scrip Code:</b> 14259</td> 
    </tr> 
</table> 

這裏是我的PHP代碼。考慮$ HTML是上述源 -

foreach($HTML->find('table[id=company]') as $Company){ 
    foreach($Company->find('td') as $td) { 
     if(preg_match('/Trading Code/', $td)){ 
      echo $td .PHP_EOL;      
     } 
     if(preg_match('/Scrip Code/', $td)){ 
      echo $td .PHP_EOL;     
     } 
    } 
} 

我的目的是獲得交易編碼,BATBC 22:35代碼,14259 但我只得到封閉在大膽的文本部分。

回答

1

您可以使用正則表達式從解析的html元素中獲取數據。我調整了一下你的代碼以獲得你提到的數據。

foreach($HTML->find('table[id=company]') as $Company){ 
    foreach($Company->find('td') as $td) { 
    if(preg_match('/<b>(Trading Code|Scrip Code):<\/b> ([a-zA-Z0-9]+)/', $td, $match)){ 
     echo $match[1].'='.$match[2].PHP_EOL; 
    } 
    } 
}