Kullanıcı belirtilen karakterleri giremediği halde illegal karakter denetimi gerçekleştirmek örneğin addslashes() kullanmak gerekirmi?

Kullanmanda hiçbir sakınca yok, ben hiç preg_match falan kullanmamayı tercih ederim. Kullanıcı uygun karakter girse de girmese de karakter denetimi yapılmalı. aşağıdaki seçeneklerden 2.sini tercih ediyorum. daha az kod daha az karmaşa.

1. Secenek

$var = @$_POST['ad'];
if (!preg_match('/^[a-zA-Z0-9 ÇŞĞÜÖİçşğüöı]+$/', $var)){
echo "Uyarı";
//// karakter düzenlemesi yap databaseye yolla
} else {
//// karakter düzenlemesi yapmadan databaseye yolla
}


2. Secenek:

hiç preg_match kullanmadan karakter düzenlemesi(boşluk silme, tırnak önü "\" , html tag silme) yapıp yolllamak.