А можно, я подумал, выделить диапазон разрешённых символов по ASCII, и с помощью ord(), сравнивать каждый символ с этими диапазонами.
-~{}~ 10.01.06 16:19:
Лучше конечно регулярные выражение.
Это факт.
-~{}~ 10.01.06 17:05:
Приношу извинение. Вопрос в продолжение темы.
Чисто ради эксперимента попробовал написать следующее:
PHP:
<?
$slovo=$_GET['slo'];
$kol=strlen($slovo);
$m=0;
$error="Введён недопустимый символ...";
do{
$simvol=ord($slovo{$m});
if($simvol<97||$simvol>122){
echo $error;
exit();
}
$m++;
}while($m!=$kol);
echo "Усе у порадку";
?>
У меня замечательно работает. И при вводе латинских прописных букв, соответственно, "Усе у порадку", при вводе других "Введён недопустимый символ..."
А на сарвере (хостинг Агава) "виснет" и следующая ошибка в логе:
[10-Jan-2006 17:57:13] PHP Warning: PHP Startup: U‰еѓмVSи: Unable to initialize module
Module compiled with module API=20020429, debug=0, thread-safety=0
PHP compiled with module API=20050922, debug=0, thread-safety=0
These options need to match
in Unknown on line 0
[10-Jan-2006 17:57:13] PHP Warning: Zend Optimizer does not support this version of PHP - please upgrade to the latest version of Zend Optimizer in Unknown on line 0
Я что-то по серости своей и безграмотности не пойму про какое-то обновление.
Что это такое и что посоветуете делать?