Probléme substr

Mammouth du PHP | 620 Messages

03 août 2010, 13:10

Bonjour,
j'ai un soucis avec substr($result['info'], 0, 130).
le probleme que je rencontre est que lorsque je definit le nombre de caractrere pour l'affichage, la mise en forme est comprise dans le nombre de caractères.
je m'explique :

par exemple j'ai le texte et sa mise en forme suivante :
Une fois de plus le vert et le jaune ne s'accordent sur le site de une site
le probleme est que dans les xx caractères les code couleurs et balise lien... sont prisent en compte.

Comment faire pour avoir le vrai nimbre de caractères sans tenire compte du code source ?

ViPHP
ViPHP | 5462 Messages

03 août 2010, 17:04

ouai c'est intéressant se sujet la, j'ai pas encore trouvé de truc bien pour ca. tu peux faire un strip_tags mais tu vas perdre la mise en forme, ou essayé de l'ouvrir en DomDocument pour pour réparer les balises cassées, apres au niveau des autre truc genre wordpress et compagnie, le résumer se fait direct via l'éditeur.
Comme j'ai du temps en ce moment, je regarderai ce qui est faisable :wink:

Mammouth du PHP | 620 Messages

06 août 2010, 18:04

Merci j'ai trouvé un solution qui est la suivant :
        <?php echo '<p>'.htmlentities(strip_tags(substr(html_entity_decode($result['info']), 0, 130))). '...</p>'; ?>
du coup j'ai bien tout les caractères qui s'affichent correctement et je garde la mise en page correct et les 130 caractères.

ViPHP
ViPHP | 5462 Messages

06 août 2010, 18:08

pas contre t'as plus la mise en forme

Mammouth du PHP | 620 Messages

06 août 2010, 18:20

euh oui exact mais dans mon cas comme c'est juste pour un aperçu sur la page d'accueoi; sa me gene pas trop.

ViPHP
ViPHP | 5462 Messages

06 août 2010, 19:03

dans ce cas il faut faire l'inverse en premier strip_tags et ensuite substr :wink: