PDA

Orijinalini görmek için tıklayınız : PHP Noktalama Hatası Düzeltici


Vesaire
31 Ağustos 2016, 13:51
Düzeltebildiği hatalar:
1. Noktalama işaretlerinin bir önceki kelimeye bitişik yazılmaması.
2. Noktalama işaretlerinden sonra bir boşluk bırakılmaması.
3. Üç nokta yerine 4, 5 ya da daha fazla nokta konulması.
4. Metnin en sonunda üç nokta kullanılması.
5. Metnin içinde herhangi bir yerde birden fazla boşluk bırakılması.
6. Paragraflar arası boşluk bırakmak için boş satırlar bırakılması.
7. Noktadan sonra cümleye küçük harfle başlanması.

function noktalama($metin)
{
// PHp 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));
}