Ben bir free form folksonomy sistemi için sunulan etiketlerin değerlerini kontrol etmek için regex oluşturmaya çalışıyorum. İşte şimdi ne var.
if (!preg_match('/([^-\\a-zA-Z0-9._@\'])+/',$proposedtag)) {
//true, good
return true;
} else {
//false, bad characters
return false;
}
Işareti tire, eğik çizgi, eğik çizgi, az, AZ, 0-9, nokta, çizgi, ve tek tırnak işareti, ve tüm diğerleri vermemek: Ben izin vermek istiyorum.
Ben bir negatif karakter sınıfı, bu gitmek için yoludur eminim ...
However my code above seems to allow other characters (such as +), and I'm not sure why. Also as a sidenote, I'm not sure if I'm making sure I don't inadvertently allow SQL injections. Any tips?