chr(9), 'TH' => chr(9), 'TR' => chr(13) . chr(10) . '

', 'BR' => chr(13) . chr(10) . '

', 'BR/' => chr(13) . chr(10) . '

', 'DD' => chr(13) . chr(10) . '

', 'P' => chr(13) . chr(10) . '

', 'HR' => chr(13) . chr(10), 'LI' => chr(13) . chr(10), 'OL' => chr(13) . chr(10), '/OL' => chr(13) . chr(10), 'TABLE' => chr(13) . chr(10), '/TABLE' => chr(13) . chr(10), 'TITLE' => '
 ', '/TITLE' => '
 ', 'UL' => chr(13) . chr(10) . ' ', '/UL' => chr(13) . chr(10), // fb2 'EMPTY-LINE/' => '

 ', 'STANZA' => '

 ', 'V' => '

', '/POEM' => '

 ', 'SUBTITLE' => '
 

', '/SUBTITLE' => '
 ', ); $inner_cut = array( 'HEAD' => 1, 'SCRIPT' => 1, 'STYLE' => 1, //fb2 'BINARY' => 1, 'DESCRIPTION' => 1, ); if ($remove_tags) $substs = $inner_cut = array(); $data = str_replace(' ', ' ', $data); $i = 0; $len = strlen($data); $out = ''; $cut_counter = 0; $cut_tag = ''; while ($i < $len) { $left = strpos($data, '<', $i); if ($left !== FALSE) { $right = strpos($data, '>', $left + 1); if ($right !== FALSE) { $tag = trim(substr($data, $left + 1, $right - $left - 1)); $first_space = strpos($tag, ' '); if ($first_space !== FALSE) $tag = substr($tag, 0, $first_space); $tag = strtoupper($tag); if (!$cut_counter) { $out .= substr($data, $i, $left - $i); if (isset($substs[$tag])) $out .= $substs[$tag]; } if (isset($inner_cut[$tag]) && (!$cut_counter || $cut_tag == $tag)) { if (!$cut_counter) $cut_tag = $tag; $cut_counter++; } if ($tag != '' && $tag[0] == '/' && $cut_tag == substr($tag, 1)) { $cut_counter = ($cut_counter > 0) ? $cut_counter - 1 : 0; if (!$cut_counter) $cut_tag = ''; } //$close_tag = substr($tag, 1); //$out .= "
$cut_counter, $cut_tag == $close_tag"; $i = $right + 1; } else break; } else break; } if ($i < $len && !$cut_counter) $out .= substr($data, $i, $len - $i); return $out; } ?>