<?php
$text = "ну что. не смотрел еще black mesa.я собирался скачать ,но все как-то некогда было." ;
// Для тестов
// $text = 'roses are red,and violets are blue.whatever you do i'll keep it for you.';
// $text = 'привет.есть 2 функции,preg_split и explode ,не понимаю,в чем между ними разница.';
/* Должно делать первую букву в строке заглавной */
function makeFirstLetterUppercase( $sentence ) {
$sentence = preg_split ( '//u' , $sentence , - 1 , PREG_SPLIT_NO_EMPTY
) ; // разбить предложение на буквы $sentence [ 0 ] = mb_strtoupper ( $sentence [ 0 ] ) ; //увеличить первую букву $sentence = implode ( "--" , $sentence ) ; //склеить предложение из букв, implode пустым не бывает, нужно что-то вставить, иначе код ругается $regexp = "/[-][-]/" ;
$sentence = preg_replace ( $regexp , "" , $sentence ) ; //заменяем вставку на пустоту var_dump ( $sentence ) ; //по идее, тут всё работает правильно return $sentence ;
var_dump ( $sentence ) ; //а вот здесь - нихуя. }
/* исправляет текст */
function fixText( $text ) {
/*вот эта часть исправна*/
$regexp2 = "/(\\ s){2,}/" ; //находим лишние пробелы
$regexp1 = "/(\\ s?)([,])(\\ s?)/" ; //находим запятые
$text = preg_replace ( $regexp2 , "" , $text ) ; //исправляем пробелы $text = preg_replace ( $regexp1 , "$2 " , $text ) ; //исправляем запятые
/*а эта - не очень*/
$text = explode ( "." , $text ) ; /* разбить на массив из предложений */ foreach ( $text as $sentence ) {
makeFirstLetterUppercase( $sentence ) ; //функция выше
}
$text = implode ( ". " , $text ) ; //склеить обратно
return $text ;
}
$result = fixText( $text ) ;
echo "{$result} \n " ;
PD9waHAKIAplcnJvcl9yZXBvcnRpbmcoLTEpOwptYl9pbnRlcm5hbF9lbmNvZGluZygndXRmLTgnKTsKIAokdGV4dCA9ICLQvdGDINGH0YLQvi4gICAgICDQvdC1INGB0LzQvtGC0YDQtdC7INC10YnQtSBibGFjayBtZXNhLtGPINGB0L7QsdC40YDQsNC70YHRjyDRgdC60LDRh9Cw0YLRjCAgLNC90L4g0LLRgdC1INC60LDQui3RgtC+INC90LXQutC+0LPQtNCwINCx0YvQu9C+LiI7Ci8vINCU0LvRjyDRgtC10YHRgtC+0LIKLy8gJHRleHQgPSAncm9zZXMgYXJlIHJlZCxhbmQgdmlvbGV0cyBhcmUgYmx1ZS53aGF0ZXZlciB5b3UgZG8gaSdsbCBrZWVwIGl0IGZvciB5b3UuJzsKLy8gJHRleHQgPSAn0L/RgNC40LLQtdGCLtC10YHRgtGMIDIg0YTRg9C90LrRhtC40LgscHJlZ19zcGxpdCDQuCBleHBsb2RlICzQvdC1INC/0L7QvdC40LzQsNGOLNCyINGH0LXQvCDQvNC10LbQtNGDINC90LjQvNC4INGA0LDQt9C90LjRhtCwLic7CiAKLyog0JTQvtC70LbQvdC+INC00LXQu9Cw0YLRjCDQv9C10YDQstGD0Y4g0LHRg9C60LLRgyDQsiDRgdGC0YDQvtC60LUg0LfQsNCz0LvQsNCy0L3QvtC5ICovCmZ1bmN0aW9uIG1ha2VGaXJzdExldHRlclVwcGVyY2FzZSgkc2VudGVuY2UpIHsKCSRzZW50ZW5jZSA9IHByZWdfc3BsaXQoJy8vdScsICRzZW50ZW5jZSwgLTEsIFBSRUdfU1BMSVRfTk9fRU1QVFkpOyAvLyDRgNCw0LfQsdC40YLRjCDQv9GA0LXQtNC70L7QttC10L3QuNC1INC90LAg0LHRg9C60LLRiwoJJHNlbnRlbmNlWzBdID0gbWJfc3RydG91cHBlcigkc2VudGVuY2VbMF0pOyAvL9GD0LLQtdC70LjRh9C40YLRjCDQv9C10YDQstGD0Y4g0LHRg9C60LLRgwoJJHNlbnRlbmNlID0gaW1wbG9kZSgiLS0iLCAkc2VudGVuY2UpOyAvL9GB0LrQu9C10LjRgtGMINC/0YDQtdC00LvQvtC20LXQvdC40LUg0LjQtyDQsdGD0LrQsiwgaW1wbG9kZSDQv9GD0YHRgtGL0Lwg0L3QtSDQsdGL0LLQsNC10YIsINC90YPQttC90L4g0YfRgtC+LdGC0L4g0LLRgdGC0LDQstC40YLRjCwg0LjQvdCw0YfQtSDQutC+0LQg0YDRg9Cz0LDQtdGC0YHRjwoJJHJlZ2V4cCA9ICIvWy1dWy1dLyI7Cgkkc2VudGVuY2UgPSBwcmVnX3JlcGxhY2UoJHJlZ2V4cCwgIiIsICRzZW50ZW5jZSk7IC8v0LfQsNC80LXQvdGP0LXQvCDQstGB0YLQsNCy0LrRgyDQvdCwINC/0YPRgdGC0L7RgtGDCgl2YXJfZHVtcCgkc2VudGVuY2UpOyAvL9C/0L4g0LjQtNC10LUsINGC0YPRgiDQstGB0ZEg0YDQsNCx0L7RgtCw0LXRgiDQv9GA0LDQstC40LvRjNC90L4KCXJldHVybiAkc2VudGVuY2U7Cgl2YXJfZHVtcCgkc2VudGVuY2UpOyAvL9CwINCy0L7RgiDQt9C00LXRgdGMIC0g0L3QuNGF0YPRjy4KfQogCi8qINC40YHQv9GA0LDQstC70Y/QtdGCINGC0LXQutGB0YIgKi8KZnVuY3Rpb24gZml4VGV4dCgkdGV4dCkgewoJLyrQstC+0YIg0Y3RgtCwINGH0LDRgdGC0Ywg0LjRgdC/0YDQsNCy0L3QsCovCgkkcmVnZXhwMiA9ICIvKFxccyl7Mix9LyI7IC8v0L3QsNGF0L7QtNC40Lwg0LvQuNGI0L3QuNC1INC/0YDQvtCx0LXQu9GLCgkkcmVnZXhwMSA9ICIvKFxccz8pKFssXSkoXFxzPykvIjsgLy/QvdCw0YXQvtC00LjQvCDQt9Cw0L/Rj9GC0YvQtQoJJHRleHQgPSBwcmVnX3JlcGxhY2UoJHJlZ2V4cDIsICIiLCAkdGV4dCk7IC8v0LjRgdC/0YDQsNCy0LvRj9C10Lwg0L/RgNC+0LHQtdC70YsKICAJJHRleHQgPSBwcmVnX3JlcGxhY2UoJHJlZ2V4cDEsICIkMiAiLCR0ZXh0KTsvL9C40YHQv9GA0LDQstC70Y/QtdC8INC30LDQv9GP0YLRi9C1CgkKCS8q0LAg0Y3RgtCwIC0g0L3QtSDQvtGH0LXQvdGMKi8KCSR0ZXh0ID0gZXhwbG9kZSgiLiIsICR0ZXh0KTsgLyog0YDQsNC30LHQuNGC0Ywg0L3QsCDQvNCw0YHRgdC40LIg0LjQtyDQv9GA0LXQtNC70L7QttC10L3QuNC5ICovCiAgIAlmb3JlYWNoICgkdGV4dCBhcyAkc2VudGVuY2UpIHsgCiAJCW1ha2VGaXJzdExldHRlclVwcGVyY2FzZSgkc2VudGVuY2UpOyAvL9GE0YPQvdC60YbQuNGPINCy0YvRiNC1CiAJCXZhcl9kdW1wKCRzZW50ZW5jZSk7IC8v0YDQtdC30YPQu9GM0YLQsNGC0LAg0L3QtdGCCiAJfQogCSR0ZXh0ID0gaW1wbG9kZSgiLiAiLCAkdGV4dCk7IC8v0YHQutC70LXQuNGC0Ywg0L7QsdGA0LDRgtC90L4KCiAKIAlyZXR1cm4gJHRleHQ7CiB9CiAKJHJlc3VsdCA9IGZpeFRleHQoJHRleHQpOwplY2hvICJ7JHJlc3VsdH1cbiI7
stdout
string(11) "Ну что"
string(11) "ну что"
string(37) "Не смотрел еще black mesa"
string(37) "не смотрел еще black mesa"
string(85) "Я собирался скачать, но все как-то некогда было"
string(85) "я собирался скачать, но все как-то некогда было"
string(0) ""
string(0) ""
ну что. не смотрел еще black mesa. я собирался скачать, но все как-то некогда было.
stderr
PHP Notice: Undefined offset: 0 in /home/jnIeod/prog.php on line 14