Se non è stata eliminata qui nel forum c'era una pillola moooolto ben fatta sulle regexp. Prova a cercarla.

Il problema stava nel copia incolla che non so per quale motivo prendeva fischi per fiaschi. Avrebbe funzionato dall'inizio ma non avrebbe visualizzato niente in caso la frase fosse stata più corta dei 20 caratteri stabiliti. Utilizzando la variabile $frase_array invece lasci la variabile $frase intatta, quindi come stringa e non come array e puoi darle l'echo qualora sia più corta.