fork(2) download
  1. <?php
  2. header("Content-Type: text/html; charset=utf-8");
  3.  
  4. $example = "Hello world. Я помню чудное мнгнoвернье, переdо мной явилась ты. Как мимолетное видeние, как гeний чистой краcoты. Ты где-то тyт. Тecт. А вот eще парочкa.";
  5.  
  6. function findCorruption($text) {
  7.  
  8. $regexp = '/([а-яё]*)([a-z]+)([а-яё]*)/ui';
  9. $brokenWords = [];
  10. $count = preg_match_all($regexp, $text, $brokenWords, PREG_SET_ORDER);
  11.  
  12. $result = [];
  13. foreach ($brokenWords as $word) {
  14. $result[] = preg_replace($regexp, '$1[$2]$3', $word[0]);
  15. }
  16. return $result;
  17. }
  18.  
  19. $test = findCorruption($example);
  20.  
  21. foreach ($test as $mistake) {
  22. echo "Опечатка в слове: $mistake.\n";
  23. }
Success #stdin #stdout 0.01s 20568KB
stdin
Standard input is empty
stdout
Опечатка в слове: [Hello].
Опечатка в слове: [world].
Опечатка в слове: мнгн[o]вернье.
Опечатка в слове: пере[d]о.
Опечатка в слове: вид[e]ние.
Опечатка в слове: г[e]ний.
Опечатка в слове: кра[co]ты.
Опечатка в слове: т[y]т.
Опечатка в слове: Т[ec]т.
Опечатка в слове: [e]ще.
Опечатка в слове: парочк[a].