fork download
  1. <?php
  2.  
  3.  
  4. $text = "Жы,ши пишы с буквой и. Сдесь зделаю ошыбку а ты попробуй найди:координально.";
  5. $regexp = '/([а-я]+[,|:][а-я]+)|([а-я]*[жш]ы[а-я]*)|(координально|сдесь|зделаю)|([а-я]+\\sа\\s)/ui';
  6. $message = array ("Пропущен пробел после знака:", "Ошибка в буквосочетании:", "Ошибка в слове:", "Пропущена запятая перед:");
  7. $m = array();
  8.  
  9. if (preg_match_all($regexp, $text, $m)){
  10. for ($i = 1; $i < 5; $i++) {
  11. $m[$i] = array_diff($m[$i], array(null)); // удалить пустые элементы массива
  12. $a = implode ("\", \"",$m[$i]); //склеить в строку
  13. echo "{$message[$i-1]} \"{$a}\"\n";
  14. }
  15. }
Success #stdin #stdout 0.02s 52480KB
stdin
Standard input is empty
stdout
Пропущен пробел после знака: "Жы,ши", "найди:координально"
Ошибка в буквосочетании: "пишы", "ошыбку"
Ошибка в слове: "Сдесь", "зделаю"
Пропущена запятая перед: ""
array(5) {
  [0]=>
  array(6) {
    [0]=>
    string(9) "Жы,ши"
    [1]=>
    string(8) "пишы"
    [2]=>
    string(10) "Сдесь"
    [3]=>
    string(12) "зделаю"
    [4]=>
    string(12) "ошыбку"
    [5]=>
    string(35) "найди:координально"
  }
  [1]=>
  array(2) {
    [0]=>
    string(9) "Жы,ши"
    [5]=>
    string(35) "найди:координально"
  }
  [2]=>
  array(2) {
    [1]=>
    string(8) "пишы"
    [4]=>
    string(12) "ошыбку"
  }
  [3]=>
  array(2) {
    [2]=>
    string(10) "Сдесь"
    [3]=>
    string(12) "зделаю"
  }
  [4]=>
  array(0) {
  }
}