Quote Originariamente inviata da zacca94 Visualizza il messaggio
Penso che tu faccia lo substr senza tenere conto dei tag html nella descrizione, di conseguenza se ne lasci di aperti...

Giusto per curiosità prova a vedere se interrompe la visualizzazione della pagina con:
$descrizione=substr(htmlspecialchars($descrizione) , 0, 250)
Confermo,
con htmlspecialchars visualizza tutto. Solo che i tag, ad esempio <h2>, vengono visualizzati come testo e, appunto, non come tag.
Dunque, faccio un esempio per capire se ho capito bene: se in una stringa viene aperto un tag <h2> e la chiusura </h2> di trova oltre il carattere 250 va tutto in casino, giusto?
Ho diverse soluzioni in mente, ma tutte complesse.
La più facile potrebbe essere quella di inserire uno <span style="display:hidden;"> nella posizione 250 e un </span> a fine testo. Potrebbe andare? Hai soluzioni più semplici?