Показать сообщение отдельно
  #2 (permalink)  
Старый 15.11.2014, 23:57
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

Для начала: никогда не использовать регулярные выражения для разбора html.

Делать следует примерно так:
var htm='<tbody style="outline: 1px solid blue;">            <tr>        <td class="complKnowlege" style="vertical-align:middle;text-align:center">         1        </td>        <td class="complKnowlege" style="vertical-align:middle;">         АБС  "ЭНИКЕЙЩИКИ И КО"        </td>        <td style="vertical-align:middle;">         ЮЛ        </td>                 <td style="vertical-align:middle;">          032600003909         </td>                <td style="vertical-align:middle;">         000240014809        </td>        <td style="vertical-align:middle;">         11.02.2000        </td>        <td style="vertical-align:middle;">                 </td>        <td class="complKnowlege" style="vertical-align:middle;">                 </td>                 <td class="complKnowlege" style="vertical-align:middle;">         Дата :<span class="grayText">05.06.2009 </span> Тип :<span class="grayText">Признан недействительным </span>        </td>       </tr>             <tr>        <td class="complKnowlege" style="vertical-align:middle;text-align:center">         1        </td>        <td class="complKnowlege" style="vertical-align:middle;">         АБС  "ЭНИКЕЙЩИКИ И КО"        </td>        <td style="vertical-align:middle;">         ЮЛ        </td>                 <td style="vertical-align:middle;">          032600003909         </td>                <td style="vertical-align:middle;">         000240014809        </td>        <td style="vertical-align:middle;">         11.02.2000        </td>        <td style="vertical-align:middle;">                 </td>        <td class="complKnowlege" style="vertical-align:middle;">                 </td>                 <td class="complKnowlege" style="vertical-align:middle;">         Дата :<span class="grayText">05.06.2009 </span> Тип :<span class="grayText">Признан недействительным </span>        </td>       </tr>          </tbody>';

parse = (function(){
   var div = document.createElement('div'), 
       text = 'textContent' in div ? 'textContent' : 'innerText',
       map = Array.prototype.map;
   return function parse(htm){
      div.innerHTML = '<table>' + htm + '</table>';
      return map.call( div.firstChild.rows, function(row){
         return map.call( row.cells, function(cell){
            return cell[text].trim();
         })
      })
   }
}());


alert(JSON.stringify( 
   parse(htm)
, null, '\t'))

Для поддержки старых браузеров потребуются полифилы для Array.prototype.map и String.prototype.trim.
__________________
29375, 35

Последний раз редактировалось Aetae, 16.11.2014 в 00:01.
Ответить с цитированием