fork download
  1. <?php
  2.  
  3. // Grammar Nazi
  4.  
  5. $text = "Не здеся а Сдесь. Жы шы пиши с буквой и. Координально зделал но не там. Но сделал!Нетжы";
  6. $regExp = [
  7. "/.{0,5}((ж|ш)ы).{0,5}/ui" => "Жи ши пиши с буквой И",
  8. "/.{0,5}(координально|сдесь|здел(ал|аю|ан)).{0,5}/ui" => "Правильно писать здесь, сделал кардинально",
  9. "/.{0,5}([.,:;!?]\S).{0,5}/u" => "Нет пробела после знака препинания",
  10. "/.{0,5}([^,] а|[^,] но).{0,5}/u" => "Нет запятой перед предлогами а или но"
  11. ];
  12. $matches = array();
  13.  
  14.  
  15. foreach ($regExp as $key => $value){
  16. preg_match_all($key,$text,$matches);
  17. foreach ($matches[0] as $match){
  18. echo "{$value}:\n{$match}\n\n";
  19. }
  20. }
  21.  
  22.  
  23. //echo $matches[0][0][1];
  24. //var_dump($matches);
  25. //echo mb_substr($text,31);//$matches[0][1][1]);
  26. //echo $matches[1][0];
Success #stdin #stdout 0.02s 52472KB
stdin
Standard input is empty
stdout
Жи ши пиши с буквой И:
есь. Жы шы п

Жи ши пиши с буквой И:
л!Нетжы

Правильно писать здесь, сделал кардинально:
ся а Сдесь. Жы 

Правильно писать здесь, сделал кардинально:
й и. Координально здел

Нет пробела после знака препинания:
делал!Нетжы

Нет запятой перед предлогами а или но:
 здеся а Сдес

Нет запятой перед предлогами а или но:
зделал но не т