<?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+Pz8/ICAgICAg0L3QtSDRgdC80L7RgtGA0LXQuyDQtdGJ0LUgYmxhY2sgbWVzYS7RjyDRgdC+0LHQuNGA0LDQu9GB0Y8g0YHQutCw0YfQsNGC0YwgICzQvdC+INCy0YHQtSDQutCw0Lot0YLQviDQvdC10LrQvtCz0LTQsCDQsdGL0LvQvi4iOwokdGV4dDEgPSAncm9zZXMgYXJlIHJlZCxhbmQgdmlvbGV0cyBhcmUgYmx1ZS53aGF0ZXZlciB5b3UgZG8gaVwnbGwga2VlcCBpdCBmb3IgeW91Lic7CiR0ZXh0MiA9ICfQv9GA0LjQstC10YIu0LXRgdGC0YwgMiDRhNGD0L3QutGG0LjQuCxwcmVnX3NwbGl0INC4IGV4cGxvZGUgLNC90LUg0L/QvtC90LjQvNCw0Y4s0LIg0YfQtdC8INC80LXQttC00YMg0L3QuNC80Lgg0YDQsNC30L3QuNGG0LAuJzsKCmZ1bmN0aW9uIG1iX3VjZmlyc3QgKCRzdWJqKQp7CiAgICAkc3Vial9sZW5ndGggPSBtYl9zdHJsZW4oJHN1YmopOwogICAgCiAgICAkc3Vial9maXJzdCA9IG1iX3N1YnN0cigkc3ViaiwgMCwgMSk7CiAgICAkc3Vial9vdGhlciA9IG1iX3N1YnN0cigkc3ViaiwgMSwgJHN1YmpfbGVuZ3RoKTsKICAgIAogICAgJHN1YmpfZmlyc3RfdWMgPSBtYl9zdHJ0b3VwcGVyKCRzdWJqX2ZpcnN0KTsKICAgICRzdWJqX290aGVyX2xjID0gbWJfc3RydG9sb3dlcigkc3Vial9vdGhlcik7CiAgICAKICAgICRzdWJqX3VjYXNlZCA9JHN1YmpfZmlyc3RfdWMuJHN1Ympfb3RoZXJfbGM7CiAgICAKICAgIHJldHVybiAkc3Vial91Y2FzZWQ7Cn0KZnVuY3Rpb24gZml4VGV4dCAoJHRleHQpCnsKICAgICRzcGxpdF9yZWdleHAgPSAnL1xcLi8nOwogICAgJHJhd19saW5lcyA9IHByZWdfc3BsaXQoJHNwbGl0X3JlZ2V4cCwgJHRleHQpOwogICAgCiAgICAkcHJvcGVyX2xpbmVzID0gYXJyYXkoKTsKICAgIAogICAgZm9yZWFjaCAoJHJhd19saW5lcyBhcyAkbGluZSkgewogICAgICAgICRsaW5lID0gdHJpbSgkbGluZSk7CiAgICAgICAgJGxpbmUgPSBtYl91Y2ZpcnN0KCRsaW5lKTsKICAgICAgICAKICAgICAgICAkc3BhY2VzX3JlZ2V4cCA9ICcvXFxzXFxzKy8nOwogICAgICAgICRsaW5lID0gcHJlZ19yZXBsYWNlKCRzcGFjZXNfcmVnZXhwLCAiICIsICRsaW5lKTsKICAgICAgICAKICAgICAgICAkcHVuY3R1YXRpb25fYmVmb3JlX3JlZ2V4cCA9ICcvKD86XFxzKFssLiE/XSkpL3UnOwogICAgICAgICRsaW5lID0gcHJlZ19yZXBsYWNlKCRwdW5jdHVhdGlvbl9iZWZvcmVfcmVnZXhwLCAiJDEgIiwgJGxpbmUpOwogICAgICAgIAogICAgICAgICRwdW5jdGlhdGlvbl9hZnRlcl9yZWdleHAgPSAnLyhbLC4hP10pKFteXFxzXSkvJzsKICAgICAgICAkbGluZSA9IHByZWdfcmVwbGFjZSgkcHVuY3RpYXRpb25fYWZ0ZXJfcmVnZXhwLCAiJDEgJDIiLCAkbGluZSk7CiAgICAgICAgJHByb3Blcl9saW5lc1tdID0gJGxpbmU7CiAgICB9CiAgICAKICAgICRyZXR1cm4gPSBpbXBsb2RlKCIuICIsICRwcm9wZXJfbGluZXMpOwogICAgCiAgICByZXR1cm4gJHJldHVybjsKfQoKJGZpeDAgPSBmaXhUZXh0KCR0ZXh0MCk7CiRmaXgxID0gZml4VGV4dCgkdGV4dDEpOwokZml4MiA9IGZpeFRleHQoJHRleHQyKTsKCmVjaG8gIiRmaXgwXG4kZml4MVxuJGZpeDIiOw==