fork 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. '/.{3}?\\s(координально|сдесь|зделаю)/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 = "Координально Алах вилик!а я сука, но не азаза. !Жырная жопа жи. Cдесь координально зделаю .";
  20. $test = grammar($text);
Success #stdin #stdout 0.02s 52472KB
stdin
Standard input is empty
stdout
Нет пробела после знака препинания вот тут - лик!а я  и вот тут -а. !Жырн 
Ж и Ш пишутся с буквой И вот тут - . !Жырна 
Нет знака препинания перед А или НО вот тут - льно Алах и вот тут -о не азаз 
Неправильно написано слово вот тут - есь координально