Разрешать только определенные символы в строке

Я искал способ создать функцию, чтобы проверить, содержит ли строка что-либо, кроме строчных букв и цифр, и если оно возвращает false. Я искал в Интернете, но все, что я могу найти, это старые методы, которые требуют использования функций, которые теперь устаревают в PHP5.

function check_input( $text ) { if( preg_match( "/[^a-z0-9]/", $text ) ) { return false; } else { return true; } } 

Используйте регулярное выражение. Используйте preg_match () .

 $matches = preg_match('/[^a-z0-9]/', $string); 

Итак, если $matches имеет 1 , вы знаете, что $string содержит плохие символы. В противном случае $matches равно 0 , а $string OK.

Немного смешать

 <? $input = "hello world 123!"; $digits = array("1", "2", "3", "4", "5", "6", "7", "8", "9", "0"); if (ctype_alnum($input)) { if (ctype_lower(str_replace($digits, "", $input))) { // Input is only lowercase and digits } } ?> 

Но регулярное выражение – это, вероятно, путь сюда! знак равно