[a-zA-Z0-9$_.+!*,;/?:@&~=%{-ç-ğ-ş-?] kodunda yazım hatası buldum.
Bu yüzden de sistemde açık gerçekleşiyor isteyen istediği karakter ile kayıt oluyor. Bu kod
[^A-Za-z0-9_.+!*,;/?:@&~=%] şeklinde eklendiğinde [ ] arasına istediğimizi yazdığımızda sisetm bu karakteri kabul etmiş oluyor. Eklenmeyen karakterler kabul edilmiyor.
Arkadaşım bir üstteki mesajımı okudun mu ?
^işareti ile başlayan pattern bu karakterler olmadan demektir.
preg_replace('/[\s\t\'\"]/si','',$m);demek $m değişkeninde ki boşluk ve tab karakterlerini sil demektir. preg_replace adı üzerinde replace ederken, preg_match verilen patterne göre sonuç olup olmadığını kontrol eder.