Placido
Наблюдаю
В продолжение темы. Хочу организовать проверку вводимого php-кода (callback-функции, которая используется в в preg_replace_callback()) на безопасность без его запуска (и без использования eval()). Чтобы написать парсер, пытаюсь до конца разобраться, что должно быть разрешено в синтаксисе вводимого кода. И столкнулся с элементарными вещами, которые никак не могу понять.
Первое:
Почему "5...7" превращается в 50,7, а не вызывает ошибку?
И еще одно:
Почему "-+-+-+-+-+-+" не вызывает ошибки?
Первое:
PHP:
$num = 5..7;
echo $num;//Parse error: syntax error, unexpected '.7' (T_DNUMBER) in
$num = 5....7;
echo $num;//Parse error: syntax error, unexpected '.' in
$num = 5...7;
echo $num;//50.7
И еще одно:
PHP:
$e = 5-+-+-+-+-+-+7;
echo $e;//12