PHP: bir metin geçersiz karakterler Algılama

1 Cevap php

PHP ile kullanıcı girişleri ayrıştırmak istiyorum. Ben geçersiz karakterler metinde veya varsa bana söyler bir işlev gerekir. Şöyle Benim taslak görünüyor:

<?php
function contains_invalid_characters($text) {
    for ($i = 0; $i < 3; $i++) {
        $text = html_entity_decode($text); // decode html entities
    } // loop is used for repeatedly html encoded entities
    $found = preg_match(...);
    return $found;
}
?>

Giriş metin geçersiz karakterleri ve YANLIŞ değilse içeriyorsa işlevi DOĞRU dönmelidir. Geçerli karakter olmalıdır:

! az, AZ, 0-9, äöüß, boşluk, "§ $% & / () = []: \?.;-_

Nasıl bu kod bana söyleyebilir? Preg_match bu amaç için) uygun (mı? O diğer karakterler içerdiğini bu yüzden kolayca sonra işlevini genişletmek olduğunu da önemlidir.

Bana yardımcı olur umarım. Şimdiden teşekkürler!

1 Cevap

Bunu yapmak için normal bir ifade kullanabilirsiniz:

function contains_invalid_characters($text) {
    return (bool) preg_match('/[a-zA-Z0-9äöüß "!§$%&\/()=[\]\?.:,;\-_]/u', $text);
}

Ama sen sınamak istediğiniz metinle aynı kodlama ile bu kodu kodlamak gerektiğini unutmayın. Bunu için UTF-8 kullanmanızı öneririz.