Bonjour,
J'ai dans un table (Mysql) l'enregistrement suivant (enregistré via TinyMCE) :
<?php
$chaine = '<p>l'étoile du parc ! Integer ac dolor vel sem adipiscing venenatis.
Donec magna. Etiam <em>congue arcu</em> et felis. Sed molestie elit ac odio.
Ut ac sem? Donec at eros.
Nam porta elit a eros! Nam pharetra. Fusce facilisis ante nec diam.
Ut lobortis eros in risus? Etiam ultricies leo nec velit.
Fusce convallis scelerisque lorem. Phasellus in ipsum.
<strong>Vestibulum ante ipsum</strong> primis in faucibus orci luctus et ultrices posuere cubilia Curae; Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Mauris consectetur.
Sed ultrices felis vel leo. Fusce vel ante eget augue commodo luctus. Sed molestie felis eu lorem.</p>
<p>Ut eleifend nibh <span style="background-color: #99cc00;">et erat.
Curabitur auctor risus id diam. Suspendisse ut libero! Sed scelerisque.
In tellus lectus, ultrices</span> vel, convallis vel, porttitor in, est. Nullam mauris.
Suspendisse luctus. Morbi posuere felis ac risus consectetur pretium.
Pellentesque vitae nibh a nibh tincidunt tincidunt.
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
In et arcu. Aenean a turpis sit amet est blandit <span style="color: #888888;">ornare.
Vestibulum</span> faucibus? Suspendisse pulvinar.
Morbi auctor adipiscing mi. Mauris bibendum. Donec tortor magna, euismod eu, vestibulum eu, sagittis eu, tortor.
Nullam vehicula lacus vitae elit.</p>
<p>Etiam facilisis consectetur turpis? Morbi turpis. Mauris lacinia gravida dolor.
Nam porttitor, nisl at vestibulum placerat, massa libero vehicula nunc, aliquam volutpat risus nisl eget orci.
Sed lobortis gravida libero. Donec auctor scelerisque magna.
Proin luctus ultrices metus. Proin ac eros id augue convallis pharetra.
Praesent ipsum lorem, adipiscing et, porta eget, tempus non, sem.
Pellentesque arcu est, fringilla quis, bibendum eget; fringilla vitae, diam.
Praesent ut diam nec tortor adipiscing lacinia.</p>';
?>
Seule les balise suivantes sont admises :
<?php
$allowedTags='<p><strong><em><u><h1><h2><h3><h4><h5><h6>';
$allowedTags.='<li><ol><ul><span><div><br><ins><del><a>';
?>
Je voudrais découper cette chaine si le texte seul est > ou = à 250 caractères.
Donc ce que je fais d'abord c'est enlever toutes les balises HTML pour compter le nombre de caractères avec ceci :
<?php
$nohtml = strip_tags(stripslashes($chaine),'');
if(strlen($nohtml) >= 250) {
//Afficher les 250 caractères . '...'
}
?>
Je sais afficher les 250 caractères mais je voudrais qu'un mot ne soit pas coupé, tout en respectant les
' (ex : l
'étoile) mais aussi les accent (ex : é =
é) car l'encodage utilisé est UTF-8
J'ai cherché sur google (qui ne semble pas être mon meilleur ami aujourd'hui) et j'ai trouvé ceci :
HTML Parser for PHP5 mais je ne comprend pas comment l'utiliser.
Pourriez-vous m'apporter de l'aide ?
D'avance merci.