İzin sadece [a-z] [A-Z] [0-9] dize PHP kullanarak

4 Cevap php

Nasıl sadece bir z, A dan Z ye içeren bir dize, 0-9 ve bazı semboller alabilirim?

4 Cevap

Sen dize preg_match kullanılarak ({[) (0]} izin) test edebilirsiniz:

if(preg_match("/^[a-zA-Z0-9]+$/", $str) == 1) {
    // string only contain the a to z , A to Z, 0 to 9
}

Eğer daha fazla sembol gerekiyorsa ] önce ekleyebilirsiniz

Sen gibi filtre edebilirsiniz:

$text = preg_replace("/[^a-zA-Z0-9]+/", "", $text);

some symbols , you should be more spesifik gelince

Neden orada bu "semboller" ilk sırada yer almaktadır? UTF-16 olarak kodlanmış olan bir kaynaktan gelen metni okuyorsanız, ancak bu tür latin1 veya ASCII gibi başka bir şey, olarak çözme konum gibi görünüyor bana.

Bu iki regexes bunu yapmalıyım:

$str = preg_replace('~[^a-z0-9]+~i', '', $str);

Veya:

$str = preg_replace('~[^a-zA-Z0-9]+~', '', $str);