[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проверить строку на наличие только матем. выражен.
vadimk
Как проверить строку на наличие в ней только математического выражения с переменной x?
В строке могут содержаться только - точка, цифры, скобки и слова из массива. Как проверить строку?
Тема закрыта. Вот регулярное выражение - "!^[x+-.0123456789/(//)//*////sincoqrtarbeirndfl]+$!"



Спустя 41 минута, 23 секунды (1.05.2011 - 22:56) Winston написал(а):
Можно так попробовать
$str = "2*sin(sqr(x))";
if(preg_match("/([*\/+_\(\)0-9a-z]+)/i", $str, $mt))
echo 'math';
else
echo 'not math';

Спустя 6 минут, 17 секунд (1.05.2011 - 23:03) vadimk написал(а):
PHPprogramer
fopen('test',r) - проходит sad.gif

Я думаю надо каким-то способом разрешать только определенные функции(sin(), cos, sqr(), ...) Как это сделать?

Спустя 14 минут, 58 секунд (1.05.2011 - 23:18) vadimk написал(а):
по другому сформулировал вопрос -
В строке могут содержаться только - точка, цифры, скобки и слова из массива. Как проверить строку?

Спустя 5 часов, 12 минут, 59 секунд (2.05.2011 - 04:31) liw написал(а):
Покажи свой вариант кода.

Ошибки поправим.

Спустя 5 минут, 35 секунд (2.05.2011 - 04:36) inpost написал(а):
vadimk
За тебя не напишем. Почитай про регулярные выражения, проверять надо через preg_match. Подсказка, надо указать начало и конец строки, и обозначить в квадратных скобках только допустимые символы, тогда preg_match вернёт false, если там будут другие знаки.

Спустя 5 часов, 32 минуты, 42 секунды (2.05.2011 - 10:09) vadimk написал(а):
Написал.
^[x+-.0123456789/(//)//*////]*$

Как в него лучше добавить функции sin, cos, sqrt, ...???
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.