Basta contare il numero di tag nella descrizione, ricontarli dopo lo substr e inserire le chiusure mancanti... te la cavi con un for, 3 if e 3 variabili (se non ho contato male a mente)... oppure contarli direttamente alla fine ma potrebbe essere un problema se utilizzi tag annidati come <ul><li>...