Misafir; $keys değişkeni utf8 in desteklemediği bazı karakterler içeriyor olabilir net birşey söylemek için $keys değişkeni ne gibi değerler alıyor onu bilmek lazım. regex kodunuzda /u utf8 modifierde kullanılmış aslında hata olmaması lazım ama sisteminiz ve bu kodun olduğu php dosyası utf8 modunda değilse utf8'e çevirip dener misiniz ? çünkü /u sadece utf8 modunda çalışır diye hatırlıyorum.