Bueno, poniendo de nuevo tu ejemplo en concreto
Código PHP:
$texto="<p> Hola, adios, hasta luego, que tal, uno dos tres 1000 </p>";
Si le quitas las etiquetas quedaria:
Código PHP:
$no_etiquetas=Hola, adios, hasta luego, que tal, uno dos tres 1000
Lo que podrias hacer por ejemplo seria algo como
Código PHP:
$no_etiquetas_corto=Hola, adios, hasta luego
Y al final le podrias añadir las etiquetas de apertura y cierre.
Código PHP:
$texto_abreviado="<p>".$no_etiquetas_corto."</p>"
En mi caso en concreto para mi blog yo uso 400 caracteres que generalmente es para darle una pequeña idea al elector de que va el articulo. Ya cuando le de en leer mas encontrara información mas detallada incluyendo el formato completo (negrita, subrayados, enlaces, etc)
Si me dices que ya sabes como hacer lo del espacio en blanco pues solamente seria poner eso y aplicarlo. Espero y esto te sirva de idea para desarrollar tu trabajo.
La versión dificil es ponerse a contar etiquetas y seguramente se puede hacer pero para que hacerlo dificil cuando se puede hacer facil?
Igual con estilos css puedes adaptar el espacio donde aparecera ese pequeño texto y darle margen, padding y demas cosas para que se vea bien. Apoyate tambien en las hojas de estilos.