Si vous souhaitez autoriser l'utilisateur à entrer du code HTML, puis l'afficher sur votre site Web, une solution vraiment géniale est HTMLPurifier.
Il prend n'importe quel type de code HTML en entrée et renvoie un code HTML valide, vous permettant de spécifier quelles balises et attributs doivent être autorisés, tous les autres seront supprimés. De cette façon, si vos utilisateurs saisissent du code HTML non valide, vous obtiendrez toujours le code HTML valide (moins de risque de détruire votre mise en page lors de la sortie), et si vous ne spécifiez que quelques tags non dangereux et attributs, c'est un grand avantage pour la sécurité.
Si vous voulez essayer sans avoir à l'intégrer dans votre application, il y a un demo page disponible, btw.
Par exemple, si je quelque chose comme entrée ceci:
<p>
this <b>is a<i>test</b></i>
with a not <em>closed tag
and a <a href="http://google.com" onclick="alert('bouh');">link</a>
and some <script type="text/javascript>alert('script');</script>
</p>
Le code HTML que je reçois comme output will be:
<p>
this <b>is a<i>test</i></b>
with a not <em>closed tag
and a <a href="http://google.com">link</a>
and some </em></p>
ie balises sont OK (fermé, dans l'ordre), le script La balise a été supprimée, tout comme l'attribut onclick du lien.
me battre aussi. Une des meilleures solutions que je connaisse. Il y a quelques classes sur phpclasses qui font la même chose mais c'est probablement plus récent +1 – Andrew
Merci mec !! cherchait cette solution! ^^ –
De rien :-) Amusez-vous! –