Достался один проектик, написанный румынскими аутсорсерами для немцев.
В следующей процедуре румыны проверяют, дал ли пользователь допустимое имя таблице для MySQL (имя вводится в форму, по нему создается таблица).
Что делает этот кусочек кода? Определяет, есть ли в строке пробел. Для этого румынские умельцы определяют длину строки, удаляют из строки все пробелы, снова определяют длину и сравнивают два значения:
Но этого им показалось мало. Далее в той же процедуре они проверяют всю строку на цифра/буква/подчеркивание:
И не менее удачное сравнение строки с образцом, тот же проект:
В следующей процедуре румыны проверяют, дал ли пользователь допустимое имя таблице для MySQL (имя вводится в форму, по нему создается таблица).
Что делает этот кусочек кода? Определяет, есть ли в строке пробел. Для этого румынские умельцы определяют длину строки, удаляют из строки все пробелы, снова определяют длину и сравнивают два значения:
if( strlen( $pName ) != strlen( str_replace(" ", "", $pName) ) ) {//contains spaces $isName = false; }
Но этого им показалось мало. Далее в той же процедуре они проверяют всю строку на цифра/буква/подчеркивание:
for ($i=0 ; ($i < strlen($pName)) && ($isName) ; $i++ ) { if( !( ctype_alpha( $pName[$i] ) || ctype_digit( $pName[$i] ) || ( $pName[$i] == '_' ) ) ) { $isName = false; } }
И не менее удачное сравнение строки с образцом, тот же проект:
if ((strtolower($fmultipledownload) != strtolower("YES")) && (strtolower($fmultipledownload) != strtolower("NO")) ) { // some stuff here }