PHP: строка фильтра для работы в качестве имени функции - PullRequest
1 голос
/ 14 мая 2010

Что такое быстрый способ фильтрации строки для работы в качестве имени функции?

примечание: я думаю что-то вроде filter_var ().

Ответы [ 2 ]

2 голосов
/ 14 мая 2010

Возможно, вы ищете

  • is_callable - Убедитесь, что содержимое переменной можно вызвать как функцию

Убедитесь, что содержимое переменной может быть вызвано как функция. Это может проверить, что простая переменная содержит имя допустимой функции или что массив содержит правильно закодированный объект и имя функции.

Если вы просто хотите убедиться, что указанное имя является допустимым синтаксисом для имени функции, вы можете установить второй аргумент $syntax_only в TRUE:

syntax_only: Если установлено значение TRUE, функция только проверяет, что имя может быть функцией или методом. Он будет отклонять только простые переменные, которые не являются строками, или массив, который не имеет допустимой структуры для использования в качестве обратного вызова. Предполагается, что действительные имеют только 2 записи, первая из которых - объект или строка, а вторая - строка.

1 голос
/ 14 мая 2010

Из руководства :

Как регулярное выражение, это будет выражается так: [A-Za-Z_ \ x7f- \ XFF] [A-Za-z0-9_ \ x7f- \ XFF] *

Итак, что-то вроде этого, может быть?

function can_be_function($var) {
  return preg_match('/^[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*$/', $var);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...