Парсинг html (кодировка)

PHP:
<?php 

function to_norm_utf8($str){
    $table = array("\xC3\x90\xC2\xA0"=>"\xD0\xA0", "\xC3\x90"=>"\xD0", "\xC3\x91"=>"\xD1", "\xC3\x92"=>"\xD2", "\xC2\x91"=>"\xD1",
    "\xC2\x90"=>"\x90", "\xC2\x91"=>"\x91", "\xC2\x92"=>"\x92", "\xC2\x93"=>"\x93", "\xC2\x94"=>"\x94", "\xC2\x95"=>"\x95", "\xC2\x81"=>"\x81", "\xC2\x96"=>"\x96", "\xC2\x97"=>"\x97", "\xC2\x98"=>"\x98", "\xC2\x99"=>"\x99", "\xC2\x9A"=>"\x9A", "\xC2\x9B"=>"\x9B", "\xC2\x9C"=>"\x9C", "\xC2\x9D"=>"\x9D", "\xC2\x9E"=>"\x9E", "\xC2\x9F"=>"\x9F", "\xC2\xA1"=>"\xA1", "\xC2\xA2"=>"\xA2", "\xC2\xA3"=>"\xA3", "\xC2\xA4"=>"\xA4", "\xC2\xA5"=>"\xA5", "\xC2\xA6"=>"\xA6", "\xC2\xA7"=>"\xA7", "\xC2\xA8"=>"\xA8", "\xC2\xA9"=>"\xA9", "\xC2\xAC"=>"\xAC", "\xC2\xAA"=>"\xAA", "\xC2\xAB"=>"\xAB", "\xC2\xAD"=>"\xAD", "\xC2\xAE"=>"\xAE", "\xC2\xAF"=>"\xAF", "\xC2\x86"=>"\x86", "\xC2\x87"=>"\x87", "\xC2\x84"=>"\x84", "\xC2\x90"=>"\x90", "\xC2\xB0"=>"\xB0", "\xC2\xB1"=>"\xB1", "\xC2\xB2"=>"\xB2", "\xC2\xB3"=>"\xB3", "\xC2\xB4"=>"\xB4", "\xC2\xB5"=>"\xB5", "\xC2\x91"=>"\x91", "\xC2\xB6"=>"\xB6", "\xC2\xB7"=>"\xB7", "\xC2\xB8"=>"\xB8", "\xC2\xB9"=>"\xB9", "\xC2\xBA"=>"\xBA", "\xC2\xBB"=>"\xBB", "\xC2\xBC"=>"\xBC", "\xC2\xBD"=>"\xBD", "\xC2\xBE"=>"\xBE", "\xC2\xBF"=>"\xBF", "\xC2\x80"=>"\x80", "\xC2\x81"=>"\x81", "\xC2\x82"=>"\x82", "\xC2\x83"=>"\x83", "\xC2\x84"=>"\x84", "\xC2\x85"=>"\x85", "\xC2\x86"=>"\x86", "\xC2\x87"=>"\x87", "\xC2\x88"=>"\x88", "\xC2\x89"=>"\x89", "\xC2\x8C"=>"\x8C", "\xC2\x8A"=>"\x8A", "\xC2\x8B"=>"\x8B", "\xC2\x8D"=>"\x8D", "\xC2\x8E"=>"\x8E", "\xC2\x8F"=>"\x8F", "\xC2\x96"=>"\x96", "\xC2\x97"=>"\x97", "\xC2\x94"=>"\x94", "\xC2\x91"=>"\x91", "\xC2\xA0"=>"\x20");
    $str = strtr($str, $table);
    return $str;
}

$html =  file_get_contents ( 'http://www.multiplex.ua/Poster.aspx?id=4' );
  $dom = new domDocument;
    @$dom->loadHTML($html);
    $dom->preserveWhiteSpace = true;
    $tables = $dom->getElementsByTagName('table');
    $rows = $tables->item(0)->getElementsByTagName('tr');
    foreach ($rows as $row)
    {
        $cols = $row->getElementsByTagName('td');
        if(is_object($cols) && is_object($cols->item(0)))
        echo to_norm_utf8(trim($cols->item(0)->nodeValue).'<br>');
        if(is_object($cols) && is_object($cols->item(1)))
        echo to_norm_utf8($cols->item(1)->nodeValue).'<br>';
        echo '<hr>';
    }
?>
 
Назад
Сверху