Bonjour,
Pour mon système de News, j'ai du texte formaté (avec balises html)
Je fais un RESUME du texte (les 60 1ers caractères, par exemple) :

Or, le texte étant formaté, une balise html peut se trouver tronquée, et/ou d'autres non fermées ! :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<?php
$texte = 'qsdf <u>qfqsdfqsdf <strong>sfqdsdffsdt wqqsdfsdf qsdfqs</strong> qsdqsd qsdqqsd fdsfqsdf fqsdf qsdfq qsdf</u> qsdf sdfqsdfqsdfqsdf.';
$resume = substr($texte,0,59);
// on obtient -->
$resume = 'qsdf <u>qfqsdfqsdf <strong>sfqdsdffsdt wqqsdfsdf qsdfqs</str';
?>
De ce fait, la suite de la page est toute chamboulée !

Comment m'y prendre pour :
1- fermer une balise tronquée
---> si c'est une balise "ouvrante : la supprimer
---> si c'est une balise fermante : la fermer (et la compléter : </str --> </strong>
2- trouver les balises non fermées ? Et donc les fermer.

Possible ? / Pas possible ? / Trop compliqué ? / ...

Note : je sais que la solution la plus simple serait d'enlever toutes les balises html, mais bon ...