fork download
  1. <?php
  2. function grammarCheck($text){
  3. $regexpA='/(\s\sа\s)|(([а-я0-9]\sа\s))/u';
  4. $text=preg_replace($regexpA,'[, a]',$text);
  5.  
  6. $regexpNO='/(\s\sно\s)|(([а-я0-9]\sно\s))/u';
  7. $text=preg_replace($regexpNO,'[, но]',$text);
  8.  
  9. $regexpNO='/(жы)/ui';
  10. $text=preg_replace($regexpNO,'[жи]',$text);
  11.  
  12. $regexpNO='/(ши)/ui';
  13. $text=preg_replace($regexpNO,'[ши]',$text);
  14.  
  15. $regexpNO='/(сдесь)/ui';
  16. $text=preg_replace($regexpNO,'[здесь]',$text);
  17.  
  18. $regexpNO='/(координально)/ui';
  19. $text=preg_replace($regexpNO,'[кардинально]',$text);
  20.  
  21. $regexpNO='/(зделал)/ui';
  22. $text=preg_replace($regexpNO,'[сделал]',$text);
  23.  
  24. $regexpNO='/(зделаю)/ui';
  25. $text=preg_replace($regexpNO,'[сделаю]',$text);
  26.  
  27. $regexpNO='/(зделан)/ui';
  28. $text=preg_replace($regexpNO,'[сделан]',$text);
  29.  
  30. $regexpNO='/(,[^\s])/ui';
  31. $text=preg_replace($regexpNO,'[, ]',$text);
  32.  
  33. $regexpNO='/(;[^\s])/ui';
  34. $text=preg_replace($regexpNO,'[; ]',$text);
  35.  
  36. $regexpNO='/(![^\s])/ui';
  37. $text=preg_replace($regexpNO,'[! ]',$text);
  38.  
  39. $regexpNO='/([?][^\s])/ui';
  40. $text=preg_replace($regexpNO,'[? ]',$text);
  41.  
  42. $regexpNO='/([.]{2}[^\s])/ui';
  43. $text=preg_replace($regexpNO,'[. ]',$text);
  44.  
  45. $regexpNO='/[:][^\s]/ui';
  46. $text=preg_replace($regexpNO,'[: ]',$text);
  47.  
  48. return $text;
  49. }
  50.  
  51. // Текст для проверки. Извините, мне действительно не приходит в голову ничего кроме text
  52. // Аккуратно ставим в текст ошибки.
  53. // Текст из ЖЖ Лебедева, так что заранее извиняюсь за маты если они там есть.
  54.  
  55. $text="Главный секрет психического здоровья - оставаться внутри собственной капсулы комфорта.
  56. По умолчанию сдесь каждому человеку достается ситуация,когда ему хорошо,удобно, комфортно, ладно с собой и своими мыслями.
  57. С годами все идет по пизде, конечно. координально, сдесь, зделал, зделаю, зделан . И особенно этому способствуют другие люди. Каждый что-то хочет, дает советы, доебывается, пытается исправить тебя и пр.
  58. А особенно сложно бывает тем, кто по какой-то причине зделал стал известным. В классе, в компании, в телевизоре, в интернете,
  59. на улице. Количество желающих достучаться до тебя и вольно или невольно разрушить капсулу комфорта возрастает и становится невыносимым.
  60. Единственный способ сохранить рассудок и не лишиться психического здоровья - игнор. Жы шы пишы с буквай и. И зачем я только взял этот текст?Всё-равно..дописывать пришлось.
  61. Игнор - фантастически действительный способ. Игнор бывает самым разнообразным зделаю. Приведу пару примеров из собственного опыта.
  62. Первый уровень игнора - не считать, что все входящие сигналы имеют зделан ко мне какое-либо отношение. Тот факт, что я вижу
  63. или слышу угрозу, оскорбление, ненужные мне слова совершенно не означает, что я готов их пропустить во внутренние покои. Кто-то что-то сказал,
  64. окей, но это не повод для меня инвестировать хотя;бы одну копейку душевных сил для принимания этого шума близко к сердцу. Тест:на:двоеточие.
  65. Второй уровень игнора - физическая координально фильтрация. Тоже крайне действенная мера. Любой известный человек неизбежно
  66. обрастает микроорганизмами, которые без должной гигиены рискуют вырасти в мозговых полипов. У меня есть кроме эпизодических
  67. сумасшедших около десятка постоянных авторов разной степени фундаментального расстройства мышления (обоего пола)!Некоторые из них пишут до 15 писем в сутки.
  68. Разумеется, если бы я даже просто пролистывал эту мутную хуету, я бы довольно быстро обрел расстройство рассудка. Поэтому у
  69. меня выработалось простое правило: как только я получаю десятое письмо от очередного ебаната, я тут же настраиваю фильтр на
  70. стороне сервера, и все дальнейшие письма даже не доходят до меня, растворяясь в пучине сточных вод.
  71. Ко второму уровню так же относится и любая другая блокировка. Бывают пронырливые ебанаты, которые лезут в ФБ, ВК, смс, звонки,
  72. почту и пр. Главное - везде их заблокировать и забанить. Тогда они угасают как спичка в закрытой банке. По крайней мере для меня.
  73. Приведенные выше способы сохранения здорового рассудка пригодятся любому, кто начал вести блог и неизбежно столкнулся с
  74. немотивированным потоком говна и доебываний, а также просто всем обычным людям во всех жизненных ситуациях.
  75. Оберегайте внутренние покои, а тут я написал а и но без запятой. А тут будет проверка на отсутствие запятой перед 'а' а тут но будет проверка на отсутствие запятой перед 'но'";
  76.  
  77. //Вызов функции
  78. echo grammarCheck($text);
Success #stdin #stdout 0.01s 52488KB
stdin
Standard input is empty
stdout
Главный секрет психического здоровья - оставаться внутри собственной капсулы комфорта.
По умолчанию [здесь] каждому человеку достается ситуация[, ]огда ему хорошо[, ]добно, комфортно, ладно с собой и своими мыслями. 
С годами все идет по пизде, конечно. [кардинально], [здесь], [сделал], [сделаю], [сделан] . И особенно этому способствуют другие люди. Каждый что-то хочет, дает советы, доебывается, пытается исправить тебя и пр.
А особенно сложно бывает тем, кто по какой-то причине [сделал] стал известным. В классе, в компании, в телевизоре, в интернете, 
на улице. Количество желающих достучаться до тебя и вольно или невольно разру[ши]ть капсулу комфорта возрастает и становится невыносимым.
Единственный способ сохранить рассудок и не ли[ши]ться психического здоровья - игнор. [жи] шы пишы с буквай и. И зачем я только взял этот текст[? ]сё-равно[. ]описывать пришлось.
Игнор - фантастически действительный способ. Игнор бывает самым разнообразным [сделаю]. Приведу пару примеров из собственного опыта.
Первый уровень игнора - не считать, что все входящие сигналы имеют [сделан] ко мне какое-либо отношение. Тот факт, что я вижу 
или слышу угрозу, оскорбление, ненужные мне слова совершенно не означает, что я готов их пропустить во внутренние покои. Кто-то что-то сказал,
 окей, но это не повод для меня инвестировать хотя[; ]ы одну копейку душевных сил для принимания этого шума близко к сердцу. Тест[: ]а[: ]воеточие.
Второй уровень игнора - физическая [кардинально] фильтрация. Тоже крайне действенная мера. Любой известный человек неизбежно 
обрастает микроорганизмами, которые без должной гигиены рискуют вырасти в мозговых полипов. У меня есть кроме эпизодических 
сумасшед[ши]х около десятка постоянных авторов разной степени фундаментального расстройства мышления (обоего пола)[! ]екоторые из них пишут до 15 писем в сутки.
Разумеется, если бы я даже просто пролистывал эту мутную хуету, я бы довольно быстро обрел расстройство рассудка. Поэтому у 
меня выработалось простое правило: как только я получаю десятое письмо от очередного ебаната, я тут же настраиваю фильтр на 
стороне сервера, и все дальней[ши]е письма даже не доходят до меня, растворяясь в пучине сточных вод.
Ко второму уровню так же относится и любая другая блокировка. Бывают пронырливые ебанаты, которые лезут в ФБ, ВК, смс, звонки, 
почту и пр. Главное - везде их заблокировать и забанить. Тогда они угасают как спичка в закрытой банке. По крайней мере для меня.
Приведенные выше способы сохранения здорового рассудка пригодятся любому, кто начал вести блог и неизбежно столкнулся с 
немотивированным потоком говна и доебываний, а также просто всем обычным людям во всех жизненных ситуациях.
Оберегайте внутренние покои, а тут я написа[, a][, но]без запятой. А тут будет проверка на отсутствие запятой перед 'а' а ту[, но]будет проверка на отсутствие запятой перед 'но'