コード例 #1
0
ファイル: html.php プロジェクト: Blu2z/implsk
 /**
  * Предварительная обработка HTML-документа
  */
 public function load(nc_search_indexer_crawler_response $response)
 {
     libxml_clear_errors();
     // такое преобразование позволяет избавиться от некорректных для UTF-8
     // последовательностей, из-за которых могут возникать неожиданные проблемы:
     $html = mb_convert_encoding($response->get_body(), 'UTF-8', 'UTF-8');
     // это позволит различать предложения, не оканчивающиеся на точку,
     // после того, как будут убраны тэги (в макетах NetCat немало таких мест):
     $html = str_ireplace(array("<div", "</div>", "<p", "</p>", "<ul", "<ol", "<li", "</li>", "<tr", "<td", "<br", "</a><a", "<option", "</option>", "</h1>", "</h2>", "</h3>", "</h4>", "</h5>"), array("\n\n<div", " \n\n</div>", "\n\n<p", " \n\n</p>", "\n\n<ul", "\n\n<ol", "\n\n<li", "\n</li>", "\n<tr", "\n<td", "\n<br", "</a> <a", "\n<option", "\n</option>", "\n\n</h1>", "\n\n</h2>", "\n\n</h3>", "\n\n</h4>", "\n\n</h5>"), $html);
     // уберем тег script
     $html = preg_replace("#<script(.*?)>(.*?)</script>#siu", '', $html);
     $this->parts = array('document' => new nc_search_document_parser_html_fragment($html));
 }