Kullanımı üzerinden geçiş filter_var()
gerçekten harika bir fikir olacaktır. Sen ancak onları tamamen ortadan kaldırmak mümkün olacaktır, mevcut normal ifadeler kullanmak mümkün olmaz. Genellikle, bizim apps kullanmak regex sadece basit validation s ve filtreleme, filter_var()
fonksiyonu için tasarlanmıştır tam olarak ne olduğu için kullanılır.
Örneğin, kod, zaten olabilir:
if (eregi('\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b', $_POST['email'])) {
echo "valid";
}
Bu (özel düzenli ifadeler dayanarak değil) güzel sürümü yerini olabilir:
if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
echo "valid";
}
filter_var()
function da inceliyoruz belirli verilere göre gerekli değildir, ve (yerine boolean) temizlenmiş dize dönecekti sanitize dışarı karakter yeteneğine sahiptir:
$clean = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
Ile kullanım Bu tür filter_var()
ereg_replace()
fonksiyonlarını yazın yerini alacak.
Ancak, yükseltmeleri basit için, sadece onları PCRE'nin uyumlu (ve bu nedenle artık PHP 5.3 + önerilmiyor) yapan bir 'p' ile fonksiyonların ereg (*) aile "öneki" olabilir.