"Enter"a basıp içeriğe geçin

PHP ile Yazım Yanlışlarını Düzeltme Fonksiyonu

PHP ile yazım yanlışlarını düzeltme fonksiyonu aracılığı ile tüm noktalama ve imla kurallarına uygun bir şekilde iş, çıkartsa da tamamen düzeltme yapılamıyor. Dizideki hazneyi büyüterek sizler de ekleme yapıp çıkartabilirsiniz.

<?php
function Noktalama($metin) 
{ 
    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)); 
}
?>

Düzelttiği Noktalama Hataları;

  • Noktalama işaretlerinin bir önceki kelimeye bitişik yazılmaması.
  • Noktalama işaretlerinden sonra bir boşluk bırakılmaması.
  • Üç nokta yerine 4, 5 ya da daha fazla nokta konulması.
  • Metnin en sonunda üç nokta kullanılması.
  • Metnin içinde herhangi bir yerde birden fazla boşluk bırakılması.
  • Paragraflar arası boşluk bırakmak için boş satırlar bırakılması.
  • Noktadan sonra cümleye küçük harfle başlanması.

Örnek verecek olursam;

<?php
echo Noktalama("Ben ne diyim sana.Anlamadım ki....Artık     seni anlamıyorum. nasıl bir insansın sen :)")
?>

Çıktı: Ben ne diyim sana. Anlamadım ki…. Artık seni anlamıyorum. nasıl bir insansın sen 🙂

Aklınıza takılan herhangi bir kod parçacığını yorum olarak iletebilirsiniz.

Okuyucu Puanı
[Toplam: 0 Ortalama: 0]

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir