<?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;
}
В тексте найдена ошибка: чюдо
2
array(4) {
[0]=>
array(2) {
[0]=>
string(8) "чюдо"
[1]=>
string(8) "щюка"
}
[1]=>
array(2) {
[0]=>
string(4) "чю"
[1]=>
string(4) "щю"
}
[2]=>
array(2) {
[0]=>
string(4) "чю"
[1]=>
string(0) ""
}
[3]=>
array(2) {
[0]=>
string(0) ""
[1]=>
string(4) "щю"
}
}
В тексте найдена ошибка: щюка
2
array(4) {
[0]=>
array(2) {
[0]=>
string(8) "чюдо"
[1]=>
string(8) "щюка"
}
[1]=>
array(2) {
[0]=>
string(4) "чю"
[1]=>
string(4) "щю"
}
[2]=>
array(2) {
[0]=>
string(4) "чю"
[1]=>
string(0) ""
}
[3]=>
array(2) {
[0]=>
string(0) ""
[1]=>
string(4) "щю"
}
}
Нет пробела после запятой,либо после точки с запятой;а иногда и даже после таких знаков:восклицательного!И даже вопросительного.Найдет ли мой скрипт такую ошибку?Посмотрим.
"Жи" и "ши" мы пишем с буквой "и" в словах "шына", "жывотное" и др.
В тексте есть слово "координально", "сдесь", "зделол", "зделан" а также "зделою" но нет слова "чюдо" и "щюка".
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
В тексте найдена ошибка: чюдо
2
array(4) {
[0]=>
array(2) {
[0]=>
string(8) "чюдо"
[1]=>
string(8) "щюка"
}
[1]=>
array(2) {
[0]=>
string(4) "чю"
[1]=>
string(4) "щю"
}
[2]=>
array(2) {
[0]=>
string(4) "чю"
[1]=>
string(0) ""
}
[3]=>
array(2) {
[0]=>
string(0) ""
[1]=>
string(4) "щю"
}
}
В тексте найдена ошибка: щюка
2
array(4) {
[0]=>
array(2) {
[0]=>
string(8) "чюдо"
[1]=>
string(8) "щюка"
}
[1]=>
array(2) {
[0]=>
string(4) "чю"
[1]=>
string(4) "щю"
}
[2]=>
array(2) {
[0]=>
string(4) "чю"
[1]=>
string(0) ""
}
[3]=>
array(2) {
[0]=>
string(0) ""
[1]=>
string(4) "щю"
}
}
Нет пробела после запятой,либо после точки с запятой;а иногда и даже после таких знаков:восклицательного!И даже вопросительного.Найдет ли мой скрипт такую ошибку?Посмотрим.
"Жи" и "ши" мы пишем с буквой "и" в словах "шына", "жывотное" и др.
В тексте есть слово "координально", "сдесь", "зделол", "зделан" а также "зделою" но нет слова "чюдо" и "щюка".