fork(3) download
  1. <?php
  2.  
  3.  
  4. function grammar($text) {
  5. $rules = array(
  6. '/.{3}?[,.!?:;][^ ].{3}?/ui' => "Нет пробела после знака препинания", /* .{3}? для понятной подсказки*/
  7. '/.{3}?[жш]ы.{3}?/ui' => "Ж и Ш пишутся с буквой И",
  8. '/.{3}?[^.,!?] (а|но) .{3}?/ui' => "Нет знака препинания перед А или НО",
  9. '/(сдесь|координально|зделаю)/ui' => "Неправильно написано слово"
  10. );
  11. foreach ($rules as $regexp => $desc) {
  12. $matches = array();
  13. if (preg_match_all($regexp, $text, $matches)) {
  14. $imp = implode(" и вот тут - ", $matches[0]);
  15. echo "{$desc} вот тут - {$imp} \n";
  16. }
  17. }
  18. }
  19. $text = "Алах вилик!а я сука, но не а координально. !Жырная жопа жи. Сдесь зделаю. Аморфный алфавит Америка";
  20. $test = grammar($text);
Success #stdin #stdout 0.02s 52472KB
stdin
Standard input is empty
stdout
Нет пробела после знака препинания вот тут - лик!а я  и вот тут - о. !Жырн 
Ж и Ш пишутся с буквой И вот тут - . !Жырна 
Нет знака препинания перед А или НО вот тут - о не а коо 
Неправильно написано слово вот тут - координально и вот тут - Сдесь и вот тут - зделаю