Фильтрация значений по выражению и списку - PullRequest
1 голос
/ 07 октября 2009

Я пишу бота для сети IMified.

Я хочу отфильтровать элементы, обработанные моим ботом, принимая только определенные значения в мой скрипт.

Вот что я сейчас использую:

$items = array('botkey', 'userkey', 'network', 'user', 'channel', 'msg', 'step');

foreach ($_POST as $key => $value)
{
    if (in_array($key, $items) || preg_match('value\d*', $key))
    {
        $this->data[$key] = $value;
    }
}
  1. Есть ли способ сделать это лучше?
  2. Почему мое регулярное выражение не работает - оно предназначено только для ключей с именами, такими как value1234 или что-то подобное ("значение" + число), но не пропускает что-либо .

Ответы [ 2 ]

2 голосов
/ 07 октября 2009
  1. Всегда есть лучший способ, но - пока вы добавляете в свой код некоторую проверку на наличие вреда / здравомыслия, у вас все хорошо.

  2. Ваш синтаксис регулярного выражения неверен. Пытаться: preg_match('/^value\d+$/', $key)

1 голос
/ 07 октября 2009

я думаю, что это должно быть preg_match ('/ value \ d * /', $ key)

я думаю, что это довольно хороший подход к данной проблеме

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...