Sorun bariz belli: $substitutions değişkeni tanımlı değil. Ayrıca bu kadar kalabalık yerine bir fonksiyon yazıp, filtre işlemlerini oradan return ederseniz kod kalabalığından kurtulmuş olursunuz.