<?php

error_reporting(-1);
mb_internal_encoding('utf-8');

$text = "Такая,знаете ли,жызненная мура получается с этим программированием;поначалу всё вроде шло хорошо!Даже замечательно! Но ведь в какой-то момент всегда начинаются проблемы, вы понимаете?А в этот раз они начались тогда,когда дошёл сначала до массивов;затем было сложно с циклами и массивами управляться сразу,но вполне ещё терпимо; потом вроде бы разобрался. Думаете -это легко для гуманитария? Для гуманитария, может быть, и легко, а для меня - нет. Мне как-то проще траллить технарей,чем стать на их уровень в программировании. У меня шырокий кругозор и шикарная жызненная позиция:непротивление насилию злом,но это, как ни странно, не помогает освоить программирование. Всё это весьма удручает,а также выбивает из колеи. А выбитый из колеи гуманитарий способен затралить любого,даже уравновешенного технаря-программиста на языке PHP. Это координально меняет ситуацию, описанную сдесь. Если же я зделаю всё так, как должно быть зделано, то все останутся целы.";
$regexp = '/(.{3,5}((\\,|\\;|\\!|\\?|\\:)[а-яё]).{3,5})|(.{3,5}((ж|ш)ы).{3,5})|(.{3,5}(координально|сдесь|(зде(лал|лаю|лано|лать))).{3,5})|(.{3,5}(\\,(а|но)).{3,5})/ui';
$errors = array();

if (preg_match_all($regexp, $text, $errors)) {
    
    $answer = $errors[0];
    $paragraph = "...\nСледующая ошибка: ...";
    $cleanAnswer = implode($paragraph, $answer);
    echo "Найдены и исправлены следующие ошибки:\n...{$cleanAnswer}...\n";

} else {
    echo "Ошибок не найдено.\nТекст: {$text}";
    break;
}

$regexpClean = '/\\,/';
$textClean = preg_replace($regexpClean, ', ', $text);
$regexpClean1 = '/\\;/';
$textClean1 = preg_replace($regexpClean1, '; ', $textClean);
$regexpClean2 = '/\\!/';
$textClean2 = preg_replace($regexpClean2, '! ', $textClean1);
$regexpClean3 = '/\\?/';
$textClean3 = preg_replace($regexpClean3, '? ', $textClean2);
$regexpClean4 = '/\\:/';
$textClean4 = preg_replace($regexpClean4, ': ', $textClean3);
$regexpClean5 = '/жы/ui';
$textClean5 = preg_replace($regexpClean5, 'жи', $textClean4);
$regexpClean6 = '/шы/ui';
$textClean6 = preg_replace($regexpClean6, 'ши', $textClean5);
$regexpClean7 = '/координально/ui';
$textClean7 = preg_replace($regexpClean7, 'кардинально', $textClean6);
$regexpClean8 = '/сдесь/ui';
$textClean8 = preg_replace($regexpClean8, 'здесь', $textClean7);
$regexpClean9 = '/зделал/ui';
$textClean9 = preg_replace($regexpClean9, 'сделал', $textClean8);
$regexpClean10 = '/зделаю/ui';
$textClean10 = preg_replace($regexpClean10, 'сделаю', $textClean9);
$regexpClean11 = '/зделано/ui';
$textClean11 = preg_replace($regexpClean11, 'сделано', $textClean10);
$regexpClean12 = '/зделать/ui';
$textClean12 = preg_replace($regexpClean12, 'сделать', $textClean11);
$regexpClean13 = '/\\s\\s/ui';
$textClean13 = preg_replace($regexpClean13, ' ', $textClean12);
	echo "Исправленный текст:\n{$textClean13}";
?>