Quebra de palavras mais inteligente em PHP para palavras longas?

Estou procurando uma maneira de tornar a quebra de palavras no PHP um pouco mais inteligente. Portanto, não interrompe palavras longas antes de deixar pequenas palavras anteriores sozinhas em uma linh

Digamos que eu tenho isso (o texto real é sempre completamente dinâmico, isso é apenas para mostrar):

wordwrap('hello! heeeeeeeeeeeeeeereisaverylongword', 25, '<br />', true);

Essa saída:

Olá
heeeeeeeeeeeeeeereisavery
longword

Veja, deixa a palavra pequena sozinha na primeira linha. Como posso fazer algo mais ou menos assim:

Olá! heeeeeeeeeeee
eeereisaverylongword

Portanto, utiliza qualquer espaço disponível em cada linha. Eu tentei várias funções personalizadas, mas nenhuma foi eficaz (ou tiveram algumas desvantagens

questionAnswers(10)

yourAnswerToTheQuestion