Bir ifade ve bir liste karşı filtreleme değerleri

2 Cevap

Ben IMified ağ için bir bot yazıyorum.

Ben sadece benim komut dosyası içine bazı değerleri kabul ederek benim bot tarafından işlenen öğeleri filtrelemek istiyorum.

Bu şu vea kullanıyorum ne:

$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. Bu daha iyi yapmak için herhangi bir yolu var mı?
  2. Neden benim düzenli ifade iş değil - sadece izin içindir value1234 ya da benzer bir şey ("değer" + numara), fakat anything geçmesine izin vermez gibi adlveırılmış anahtarlar .

2 Cevap

  1. Orada daha iyi bir yolu her zaman var, ama - sürece değerleri için koduna kontrol bazı kusur / aklı koymak gibi, sadece iyi yapıyoruz.

  2. Your regular expression syntax is wrong. Try: preg_match('/^value\d+$/', $key)

i ('/ değer \ d * /', $ key) preg_match olması gerektiğini düşünüyorum

i verilen soruna oldukça iyi bir yaklaşım thats düşünüyorum