PHP preg_match türkçe karekter dışında özel karakter ve rakamları engelleme
Üzerinde çalıştığım PHP projesinde kullanıcı isimlerini sadece harflerden oluşmasını sağlamak için preg_match kullandım. Fakat pattern a-zA-Z gibi bir kod türkçe harfleri desteklemiyordu. Sorunu şu şekilde çözdüm. Artık form girişinde sadece türkçe harfler dahil tüm latin harfler kontrolü yapılabiliyor.
<?php
$pattern ='/^[-a-zA-Z_\x{ÖÇŞİĞÜöçşğüı}\s]*$/u';
$metin = htmlspecialchars(stripslashes(trim("ÇÖŞLasd İIasdasÇÖŞL")));
if (preg_match($pattern, $metin)) {
echo "Metin kurallara uyuyor";
} else {
echo "HATA: Metin kurallara uymuyor";
}
?>