fork download
  1. <?php
  2.  
  3. $regexp = '/(\\b([a-zA-Z]+)([а-яёА-ЯЁ]+)\\b)|(\\b([а-яёА-ЯЁ]+)([a-zA-Z]+)([а-яёА-ЯЁ]+)\\b)|(\\b([а-яёА-ЯЁ]+)([a-zA-Z]+)\\b)|(\\b([a-zA-Z]+)([а-яёА-ЯЁ]+)([a-zA-Z]+)\\b)/u';
  4. $text = 'Kartоn это картoнка frоntend-разрaботка';
  5.  
  6. $matches = array();
  7. preg_match_all($regexp, $text, $matches);
  8.  
  9. $regexpCorrect = ['/\\b([a-zA-Z]+)([а-яёА-ЯЁ]+)\\b/u', '/\\b([а-яёА-ЯЁ]+)([a-zA-Z]+)([а-яёА-ЯЁ]+)\\b/u', '/\\b([а-яёА-ЯЁ]+)([a-zA-Z]+)\\b/u', '/\\b([a-zA-Z]+)([а-яёА-ЯЁ]+)([a-zA-Z]+)\\b/u'];
  10. $changed = ['[$1]$2', '$1[$2]$3', '$1[$2]', '$1[$2]$3'];
  11.  
  12. for($i = 0; $i < count($matches[0]); $i++) {
  13. echo "Опечатка в ".preg_replace($regexpCorrect, $changed, $matches[0][$i])."\n";
  14. };
  15.  
Success #stdin #stdout 0.02s 24988KB
stdin
Standard input is empty
stdout
Опечатка в Kart[о]n
Опечатка в карт[o]нка
Опечатка в fr[о]ntend
Опечатка в разр[a]ботка