Пример #1
0
    $fp = fopen($dstName, "w");
    fwrite($fp, $string, strlen($string));
    fclose($fp);
}
$subs_file = file_get_contents("export.txt");
$subs = array();
preg_match_all("/.*[\\n\\r]+/iu", $subs_file, $matches);
foreach ($matches[0] as $line) {
    $subtitle = explode("\t", $line);
    if (!is_numeric($subtitle[1])) {
        continue;
    }
    uncompress('/home/soshial/subs/opensubtitles/' . $subtitle[1] . '.gz', '/home/soshial/subs/opensubtitles2/' . $subtitle[1] . '.srt');
    $sub_text = file_get_contents('/home/soshial/subs/opensubtitles2/' . $subtitle[1] . '.srt');
    if (detect_encoding($sub_text) == 'windows-1251') {
        $sub_text = strip_tags_smart(iconv('windows-1251', 'UTF-8//IGNORE', $sub_text));
    }
    // изменяем кодировку на юникод, и вычищаем от тегов
    $sub_text = preg_replace('/\\s*\\d+\\r\\n\\d\\d:\\d\\d:\\d\\d,\\d+ --> \\d\\d:\\d\\d:\\d\\d,\\d+/i', '', $sub_text, -1, $count);
    // вырезаем временные метки
    $sub_text = preg_replace('/\\.{2,}/i', '…', $sub_text, -1, $count);
    // заменяем многоточия
    /* склеиваем текст */
    $sub_text = preg_replace("/([^!…\\?_][a-z0-9а-яё])(\\s)*\\r\\n(\\s)*([…«\"\\-]{0,1}(\\s)*[a-zа-яё]{1,}[^\\)])/u", '$1 $4', $sub_text, -1, $count);
    // ориентация на отсутствие препинаний в конце первого параграфа и на строчные в начале второго п.,
    // где перед буквами могут находиться кавычки: «" и дефис
    // предполагается автоматическое объединение
    $sub_text = preg_replace("/([^!…\\?_][a-z0-9А-яё,;—–\\-\\»\\)IVX])(\\s)*\\r\\n(\\s)*([«\\(\\[\"\\-–—=…]{0,1}(\\s)*[a-z0-9а-яё\\?\\!…\"]+[^\\)])/u", '$1 $4', $sub_text, -1, $count);
    // ориентация на отсутствие точки в конце первого параграфа и на строчные в начале второго п.,
    // где перед буквами и цифрами могут находиться кавычки: «", дефис и скобки: ([
    // отключены скобки после первого символа второго п. дабы не цеплять пронумерованные списки
Пример #2
0
 /**
  * strip_tags_smart
  */
 function strip_tags_smart($content)
 {
     if (!$this->_set_include_path) {
         set_include_path(YF_PATH . 'libs/yf_utf8_funcs/' . PATH_SEPARATOR . get_include_path());
     }
     $this->_set_include_path = true;
     include_once 'strip_tags_smart.php';
     return strip_tags_smart($content);
 }