Şöyle ki var_dump() fonksiyonu ile kontrol ettiğimde gördüğüm kadarıyla $kategori değişkeni çift boyutlu bir dizi haline gelmiş. Yani $kategori[0] yerine $kategori[0][0] ile ulaşılabilir. Sen pregmatchall fonksiyonuna dizi gönderdiğin için fonksiyon eşleme yapamıyor. Özellikle bot yapımlarında gelen verileri sık sık var_dump() ile kontrol etmeni tavsiye ederim.