Arkadaşlar alttaki kodla bazı noktalama hatalarını otomatik düzeltiyorum fakat ingilizce sitelerde şöyle bir hataya sebep oldu kelime We’re ise bunu We’ re yapıyor ' dan sonra bir boşluk atıyor yani bunu nasıl düzeltirim birde eğer makale sonunda nokta yoksa eklemek istiyorum hızlıca halledebilecek olanlar fiyat ile birlikte mesaj atarlarsa sevinirim.

function noktalama($metin)
{
    // Mustafa Dokumacı tarafından yazılmıştır...
    return stripslashes(preg_replace(array(
        '~([^s.,;:!?]{2,})s+([.,;:!?])~u',
        '~([^s.,;:!?]{2,})([.,;:!?]+)([^s.0-9"'„”’›»])~u',
        '~(s)+[.,;:!?]+s+~u',
        '~.{4,}~u',
        '~.{3,}s*$~u',
        '~^s+~um',
        '~s+$~um',
        '~r+~u',
        '~n{2,}~u',
        '~s{2,}~u',
        '~((ht|f)tps?: //|[-a-z0-9]{2,}. )([-a-z0-9/]{2,}. )+[-a-z0-9]{2,4}~uie',
        '~(^|s)([-a-z0-9]{2,}. )+(com|de|net|co.[a-z]{2}|org|info|it|biz|nl|cc|tv|com.[a-z]{2}|ch|br|dk|us|ca|ws|be|cz|no|at|fr|pl|ru|net.[a-z]{2})(/[-a-z0-9.]+)*([s.0-9"'„”’›»]|$)~uie',
        '~(^|[^0-9.?!]{2,}[.?!]s)(["'“‘‹«]?s?)([^s])~ue'
    ), array(
        '$1$2',
        '$1$2 $3',
        '$1',
        '...',
        '.',
        '',
        '',
        "n",
        "n",
        ' ',
        'strtr("$0", array(": "=>":", ". "=>"."))',
        'strtr("$0", array(": "=>":", ". "=>"."))',
        "'$1$2' . mb_strtoupper('$3')"
    ), $metin));
}