3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(-1); $text = <<<EOF Нет пробела после запятой,либо после точки с запятой;а иногда и даже после таких знаков:восклицательного!И даже вопросительного.Найдет ли мой скрипт такую ошибку?Посмотрим. "Жи" и "ши" мы пишем с буквой "и" в словах "шына", "жывотное" и др. В тексте есть слово "координально", "сдесь", "зделол", "зделан" а также "зделою" но нет слова "чюдо" и "щюка". EOF ; //$regexp = '/(\b[а-яё]+),([а-яё]+\b)|(\b[а-яё]+);([а-яё]+\b)|(\b[а-яё]+)!([а-яё]+\b)|(\b[а-яё]+)\\.([а-яё]+\b)|(\b[а-яё]+)\\?([а-яё]+\b)/ui'; //$regexp = '/\bз(д[а-яё]+)\b/ui'; //$regexp = '/[а-яё]*(жы|шы)[а-яё]*/ui'; $regexp = '/[а-яё]*((чю)|(щю))[а-яё]*/ui'; $text = checking($text, $regexp, 4); //$regexp = '/сдесь/ui'; //$text = checking($text, $regexp, 5); //$regexp = '/координал[а-яё]+/ui'; //$text = checking($text, $regexp, 6); echo $text; function checking($text, $regexp, $type){ $error = false; $matches = array(); $count = preg_match_all($regexp, $text, $matches); foreach ($matches[0] as $element){ echo "В тексте найдена ошибка: {$element}\n"; $error = true; echo "$count\n"; var_dump($matches); } if ($error == true){ $text = fixError($text, $regexp, $type); return $text; } } function fixError($text, $regexp, $type){ if ($type == 5){ $text = preg_replace($regexp, 'здесь', $text); }else if($type == 6){ $text = preg_replace($regexp, 'кардинально', $text); } return $text; }

preferences:
50.16 ms | 402 KiB | 5 Q