2017-01-09 5 views
0

Это структура таблицы я получаю со страницы HTML source-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 является выше source-

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 и Scrip код, 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; 
    } 
    } 
} 
Смежные вопросы