<?php
$textWithErrors = 'и что ты еще расскажешь,блинблинский.а что дальше?мм?ну и что .' ;
$regexpAndCorrected = [
"/[ ]*,[ ]*/u" => ", " ,
"/[ ]*\\ .[ ]*/u" => ". " ,
"/[ ]*![ ]*/u" => "! " ,
"/[ ]*\\ ?[ ]*/u" => "? " ,
"/[ ]*\\ :[ ]*/u" => ": "
] ;
$regexpForSearchClause = "/(\\ . |! |\\ ? )/u" ;
function correction( $text , $regexp , $arrayMistakeCorrected ) {
echo "текст с ошибками:\n $text \n \n " ;
foreach ( $arrayMistakeCorrected as $mistake => $corrected ) {
}
echo "текст без ошибок:\n $text \n \n " ;
$clauses = [ ] ;
$clauses = preg_split ( $regexp , $text , - 1 , PREG_SPLIT_DELIM_CAPTURE
) ;
foreach ( $clauses as $key => $clause ) {
$characters = preg_split ( '//u' , $clause , - 1 , PREG_SPLIT_NO_EMPTY
) ;
echo "\n \n " ;
}
return ( $text ) ;
}
$textWithErrors = correction( $textWithErrors , $regexpAndCorrected , $regexpForSearchClause ) ;
?>
PD9waHAgCgplcnJvcl9yZXBvcnRpbmcoLTEpOwoKJHRleHRXaXRoRXJyb3JzID0gJ9C4INGH0YLQviDRgtGLINC10YnQtSDRgNCw0YHRgdC60LDQttC10YjRjCzQsdC70LjQvdCx0LvQuNC90YHQutC40Lku0LAg0YfRgtC+INC00LDQu9GM0YjQtT/QvNC8P9C90YMg0Lgg0YfRgtC+IC4nOwokcmVnZXhwQW5kQ29ycmVjdGVkID0gWwogICAiL1sgXSosWyBdKi91IiA9PiAiLCAiLAogICAiL1sgXSpcXC5bIF0qL3UiID0+ICIuICIsCiAgICIvWyBdKiFbIF0qL3UiID0+ICIhICIsCiAgICIvWyBdKlxcP1sgXSovdSIgPT4gIj8gIiwKICAgIi9bIF0qXFw6WyBdKi91IiA9PiAiOiAiCl07CiRyZWdleHBGb3JTZWFyY2hDbGF1c2UgPSAiLyhcXC4gfCEgfFxcPyApL3UiOwoKZnVuY3Rpb24gY29ycmVjdGlvbigkdGV4dCwgJHJlZ2V4cCwgJGFycmF5TWlzdGFrZUNvcnJlY3RlZCkgewogICAgZWNobyAi0YLQtdC60YHRgiDRgSDQvtGI0LjQsdC60LDQvNC4OlxuJHRleHRcblxuIjsKICAgIApmb3JlYWNoICgkYXJyYXlNaXN0YWtlQ29ycmVjdGVkIGFzICRtaXN0YWtlID0+ICRjb3JyZWN0ZWQpIHsKICAgICR0ZXh0ID0gcHJlZ19yZXBsYWNlKCRtaXN0YWtlLCAkY29ycmVjdGVkLCAkdGV4dCk7CiAgICB9CiAgICAKJHRleHQgPSBydHJpbSgkdGV4dCk7CmVjaG8gItGC0LXQutGB0YIg0LHQtdC3INC+0YjQuNCx0L7QujpcbiR0ZXh0XG5cbiI7CgokY2xhdXNlcyA9IFtdOwokY2xhdXNlcyA9IHByZWdfc3BsaXQgKCRyZWdleHAsICR0ZXh0LCAtMSwgUFJFR19TUExJVF9ERUxJTV9DQVBUVVJFKTsKCmZvcmVhY2ggKCRjbGF1c2VzIGFzICRrZXkgPT4gJGNsYXVzZSkgewogIAogJGNoYXJhY3RlcnMgPSBwcmVnX3NwbGl0KCcvL3UnLCAkY2xhdXNlLCAtMSwgUFJFR19TUExJVF9OT19FTVBUWSk7CiAkY2hhcmFjdGVyc1swXSA9IG1iX3N0cnRvdXBwZXIoJGNoYXJhY3RlcnNbMF0pOwogJGNsYXVzZSA9IGltcGxvZGUgKCRjaGFyYWN0ZXJzKTsKIAp2YXJfZHVtcCAoJGNsYXVzZSk7CmVjaG8gIlxuXG4iOwogICAgCn0KCiR0ZXh0ID0gaW1wbG9kZSgkY2xhdXNlKTsKCnJldHVybigkdGV4dCk7Cgp9CgokdGV4dFdpdGhFcnJvcnMgPSBjb3JyZWN0aW9uKCR0ZXh0V2l0aEVycm9ycywgJHJlZ2V4cEFuZENvcnJlY3RlZCwgJHJlZ2V4cEZvclNlYXJjaENsYXVzZSk7CgpwcmludF9yKCR0ZXh0V2l0aEVycm9ycyk7Cj8+
stdout
текст с ошибками:
и что ты еще расскажешь,блинблинский.а что дальше?мм?ну и что .
текст без ошибок:
и что ты еще расскажешь,блинблинский.а что дальше?мм?ну и что .
stderr
PHP Warning: Invalid argument supplied for foreach() in /home/3yIyqh/prog.php on line 18
PHP Warning: preg_split() expects parameter 1 to be string, array given in /home/3yIyqh/prog.php on line 26
PHP Warning: Invalid argument supplied for foreach() in /home/3yIyqh/prog.php on line 28
PHP Notice: Undefined variable: clause in /home/3yIyqh/prog.php on line 39
PHP Warning: implode(): Argument must be an array in /home/3yIyqh/prog.php on line 39