Hola, usando la función substr(); y strlen(); hice esta pequeña función que te puede servir, tal vez no sea la mejor manera de hacerlo, pero fue lo que se me ocurrio:
Código PHP:
<?php
$texto="Ser o no ser, esa es la cuestión, superfragilistico.";
function cortar_palabra($texto,$largo)
{
$cadena=""; //Variable que contendra la nueva cadena
//Separamos cada palabra de la cadena
$palabra=explode(" ",$texto);
//Recorremos cada palabra, checando si tiene más de 10 caracteres
//y concatenando cada palabra en una nueva variable, ($cadena)
for($a=0; $a<=count($palabra); $a++)
{
if(trim($palabra[$a])!="" and strlen($palabra[$a])>$largo)
{
$cadena .=substr($palabra[$a],0,$largo)."<br>".substr($palabra[$a],$largo,strlen($palabra[$a]))." ";
}
else
{
$cadena .=$palabra[$a]." ";
}
}
return $cadena; //Retornamos la nueva cadena
}
//Despues para usar la función solo hacemos:
echo cortar_palabra($texto,10);
?>
Saludos.