<?php
$text0 = "ну что. не смотрел еще black mesa.я собирался скачать ,но все как-то некогда было." ;
$text1 = 'roses are red,and violets are blue.whatever you do i\'ll keep it for you.' ;
$text2 = 'привет.есть 2 функции,preg_split и explode ,не понимаю,в чем между ними разница.' ;
function mb_ucfirst ( $subj )
{
$subj_other = mb_substr ( $subj , 1 , $subj_length ) ;
$subj_ucased = $subj_first_uc . $subj_other_lc ;
return $subj_ucased ;
}
function fixText ( $text )
{
$split_regexp = '/\\./' ;
foreach ( $raw_lines as $line ) {
$line = mb_ucfirst( $line ) ;
$spaces_regexp = '/\\s\\s+/' ;
$punctuation_before_regexp = '/(?:\\s([,.!?]))/u' ;
$line = preg_replace ( $punctuation_before_regexp , "$1 " , $line ) ;
$punctiation_after_regexp = '/([,.!?])([^\\s])/' ;
$line = preg_replace ( $punctiation_after_regexp , "$1 $2 " , $line ) ; $proper_lines [ ] = $line ;
}
$return = implode ( ". " , $proper_lines ) ;
return $return ;
}
$fix0 = fixText( $text0 ) ;
$fix1 = fixText( $text1 ) ;
$fix2 = fixText( $text2 ) ;
echo "$fix0 \n $fix1 \n $fix2 " ;
PD9waHAKCmVycm9yX3JlcG9ydGluZygtMSk7Cm1iX2ludGVybmFsX2VuY29kaW5nKCd1dGYtOCcpOwoKJHRleHQwID0gItC90YMg0YfRgtC+LiAgICAgINC90LUg0YHQvNC+0YLRgNC10Lsg0LXRidC1IGJsYWNrIG1lc2Eu0Y8g0YHQvtCx0LjRgNCw0LvRgdGPINGB0LrQsNGH0LDRgtGMICAs0L3QviDQstGB0LUg0LrQsNC6LdGC0L4g0L3QtdC60L7Qs9C00LAg0LHRi9C70L4uIjsKJHRleHQxID0gJ3Jvc2VzIGFyZSByZWQsYW5kIHZpb2xldHMgYXJlIGJsdWUud2hhdGV2ZXIgeW91IGRvIGlcJ2xsIGtlZXAgaXQgZm9yIHlvdS4nOwokdGV4dDIgPSAn0L/RgNC40LLQtdGCLtC10YHRgtGMIDIg0YTRg9C90LrRhtC40LgscHJlZ19zcGxpdCDQuCBleHBsb2RlICzQvdC1INC/0L7QvdC40LzQsNGOLNCyINGH0LXQvCDQvNC10LbQtNGDINC90LjQvNC4INGA0LDQt9C90LjRhtCwLic7CgpmdW5jdGlvbiBtYl91Y2ZpcnN0ICgkc3ViaikKewogICAgJHN1YmpfbGVuZ3RoID0gbWJfc3RybGVuKCRzdWJqKTsKICAgIAogICAgJHN1YmpfZmlyc3QgPSBtYl9zdWJzdHIoJHN1YmosIDAsIDEpOwogICAgJHN1Ympfb3RoZXIgPSBtYl9zdWJzdHIoJHN1YmosIDEsICRzdWJqX2xlbmd0aCk7CiAgICAKICAgICRzdWJqX2ZpcnN0X3VjID0gbWJfc3RydG91cHBlcigkc3Vial9maXJzdCk7CiAgICAkc3Vial9vdGhlcl9sYyA9IG1iX3N0cnRvbG93ZXIoJHN1Ympfb3RoZXIpOwogICAgCiAgICAkc3Vial91Y2FzZWQgPSRzdWJqX2ZpcnN0X3VjLiRzdWJqX290aGVyX2xjOwogICAgCiAgICByZXR1cm4gJHN1YmpfdWNhc2VkOwp9CmZ1bmN0aW9uIGZpeFRleHQgKCR0ZXh0KQp7CiAgICAkc3BsaXRfcmVnZXhwID0gJy9cXC4vJzsKICAgICRyYXdfbGluZXMgPSBwcmVnX3NwbGl0KCRzcGxpdF9yZWdleHAsICR0ZXh0KTsKICAgIAogICAgJHByb3Blcl9saW5lcyA9IGFycmF5KCk7CiAgICAKICAgIGZvcmVhY2ggKCRyYXdfbGluZXMgYXMgJGxpbmUpIHsKICAgICAgICAkbGluZSA9IHRyaW0oJGxpbmUpOwogICAgICAgICRsaW5lID0gbWJfdWNmaXJzdCgkbGluZSk7CiAgICAgICAgCiAgICAgICAgJHNwYWNlc19yZWdleHAgPSAnL1xcc1xccysvJzsKICAgICAgICAkbGluZSA9IHByZWdfcmVwbGFjZSgkc3BhY2VzX3JlZ2V4cCwgIiAiLCAkbGluZSk7CiAgICAgICAgCiAgICAgICAgJHB1bmN0dWF0aW9uX2JlZm9yZV9yZWdleHAgPSAnLyg/OlxccyhbLC4hP10pKS91JzsKICAgICAgICAkbGluZSA9IHByZWdfcmVwbGFjZSgkcHVuY3R1YXRpb25fYmVmb3JlX3JlZ2V4cCwgIiQxICIsICRsaW5lKTsKICAgICAgICAKICAgICAgICAkcHVuY3RpYXRpb25fYWZ0ZXJfcmVnZXhwID0gJy8oWywuIT9dKShbXlxcc10pLyc7CiAgICAgICAgJGxpbmUgPSBwcmVnX3JlcGxhY2UoJHB1bmN0aWF0aW9uX2FmdGVyX3JlZ2V4cCwgIiQxICQyIiwgJGxpbmUpOwogICAgICAgICRwcm9wZXJfbGluZXNbXSA9ICRsaW5lOwogICAgfQogICAgCiAgICAkcmV0dXJuID0gaW1wbG9kZSgiLiAiLCAkcHJvcGVyX2xpbmVzKTsKICAgIAogICAgcmV0dXJuICRyZXR1cm47Cn0KCiRmaXgwID0gZml4VGV4dCgkdGV4dDApOwokZml4MSA9IGZpeFRleHQoJHRleHQxKTsKJGZpeDIgPSBmaXhUZXh0KCR0ZXh0Mik7CgplY2hvICIkZml4MFxuJGZpeDFcbiRmaXgyIjs=