- Автор темы
- #11
То_есть я искал готовое решение, а не твою бесполезную писанину.Тоесть, "не по поиску"? "Чукча не читатель, чукча писатель", еще один лалалол?)
Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
То_есть я искал готовое решение, а не твою бесполезную писанину.Тоесть, "не по поиску"? "Чукча не читатель, чукча писатель", еще один лалалол?)
То_есть
Нужен самонаполняющиеся cms.
Запятые, пробелы, чистка мусора, иероглифы еще что-то, делал регулярками, даже код сохранился. Код двухлетней давности, поэтому возможно не все работает как надо.Кстати немного в тему автору..никто не сталкивался с задачей по подключению сервиса или внешней программы (все равно на какой ос) по исправлению семантических и морфологических ошибок в русском языке. Чтобы перед тем как спарсил контент, прогнал через синонимайзер или еще что то, необходимо проверить на ошибки.
Я качественных решений не находил, так хотелось бы своё запилить, но на базе готового велосипеда.
function clean_text($output){
$output = preg_replace("~[^-0-9a-zа-яё«»\&\;\/\<\>\.,\s\(\)\*:!\?]~iu", "", $output);
$output = preg_replace('~[0-9]{10,}~u', "", $output); // вырезаем длинные числа
$output = preg_replace('~[А-Яа-яё]{60,}~u', "", $output); // вырезаем длинные слова (30 кириллических символов подряд)
$output = preg_replace('~[a-zA-Z]{30,}~u', "", $output); // вырезаем длинные слова (30 лат. символов подряд)
$output = preg_replace("~([0-9]{1,2})[\s]+([a-zа-яё]{3,7})[\s]+([0-9]{4})(\.[\s])?([\s]+[–|\-]+[\s]*)?(([0-9]{1,2})[\s]*([a-zа-яё]{1,5})\.[\s]*([a-zа-яё]{5})?)?~iu", "", $output); // вырезаем даты
$output = preg_replace('#\b(([\w-]+://?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/)))#iS', '', $output);
$output = preg_replace('(\d{1,2}\/\d{1,2}\/\d{4})', '', $output);
$output = preg_replace('/(http:\/\/)(\S+)/i', '', $output);
$output = preg_replace('/(https:\/\/)(\S+)/i', '', $output);
$output = str_ireplace('...', '.', $output);
$output = str_ireplace(' .', '.', $output);
$output = str_ireplace('..', '.', $output);
$output = str_ireplace(',.', '.', $output);
$output = str_ireplace(':.', '.', $output);
$output = preg_replace("~[0-9]{1,4}[\.:/][0-9]{1,4}[\.:/][0-9]{1,4}([\.:/][0-9]{1,4})?~u", "", $output); // вырезаем даты (и IP)
$output = preg_replace('~([0-9]{1,2}[\:/][0-9]{1,2})?~u','',$output);// вырезаем данные вида 04:00
$output = str_replace(array('т.е.','т.к.','т.д.','т.п.','и др.','и пр.'),array('то есть','так как','так далее','тому подобное','и другие','и прочие'),$output);//замена частых сокращений
$output = preg_replace("~\s([\.,\):!\?])~iu", "$1", $output); // "текст :" -> "текст:"
$output = preg_replace("~^(.*?[-:,\s]?[^\.!\?])[\s]? \*~iu", "$1. *", $output); // точка в конце предложения титла
$output = preg_replace("~^(.*?)[\(]+([^\)]+?)\. \*~iu", "$1($2). *", $output); // закрываем открытую скобку в титле
$output = preg_replace("~\* (.*?[-:,\s]?[^\.!\?][\s]?)$~iu", "* $1.", $output); // точка в конце предложения
$output = preg_replace("~\* (.*?)[\(]+([^\)]+?)\.$~iu", "* $1($2).", $output); // закрываем открытую скобку
$output = preg_replace("~([\.!\?])([A-ZА-Яa-zа-яё]){1}~u", "$1 $2", $output); // пробел после точки
$output = preg_replace("~[-:,!\?]?([\.!?])+[-:,!\?]?~iu", "$1", $output); // ?.!
$output = preg_replace("~[\s]?[-:][\s](.*?)([\s]?[-:]{1}[\s])~iu", " $1$2", $output); // " - текст - " -> "текст - "
$output = str_replace(',',', ',$output);
$output = str_replace(' ',' ',$output);
$output = str_replace(');',' ',$output);
$output = str_replace('.','. ',$output);
$output = str_replace(' ',' ',$output);
$output = preg_replace("/&#?[a-z0-9]{2,8};/i","",$output);
$output = str_replace(array("\r", "\n"), '', $output);
$testout = iconv_strlen($output, 'UTF-8');
if ($testout >= 400){} else {$output='';}
//дочищиваем мусор
$nezpyat=substr_count($output,',');
if ($nezpyat=='0' || $nezpyat=='') {} else {
if ($testout/$nezpyat>=30){} else {$output='';}
}
unset($testout);
unset($nezpyat);
//мусор и ошибки в статьях , , ,
$pos3 = stripos($output, ', , ,');
if ($pos3 !== false) {
$output='';
}else {}
//конец чистки
return $output;
}
Content Downloader кажется это умеет.Кстати немного в тему автору..никто не сталкивался с задачей по подключению сервиса или внешней программы (все равно на какой ос) по исправлению семантических и морфологических ошибок в русском языке. Чтобы перед тем как спарсил контент, прогнал через синонимайзер или еще что то, необходимо проверить на ошибки.
Я качественных решений не находил, так хотелось бы своё запилить, но на базе готового велосипеда.
Content Downloader это инструмент, не более.Content Downloader кажется это умеет.