Как очистить preg_match_all от пустых значений массива

Я использую preg_match_all для создания массива для коротких кодов, и он отлично работает, но он также возвращает массивы с пустыми значениями, см. Здесь, пожалуйста,

https://eval.in/141437

Используя эту совпадение, я уверен, что это лишние пустые массивы

#\[link(.*?)link\=\"(.*?)\"(.*?)text\=\"(.*?)\"\]#e 

Как я могу их очистить. Я попробовал array_filter, но это не сработало.

Спасибо!