Je pense que supprimer toute balise HTML de l'entrée vous apportera quelque chose d'assez sécurisé - sauf si quelqu'un trouve un moyen d'injecter des données vraiment foirées dans Markdown, ce qui générera une sortie encore plus foirée ^^
Néanmoins, voici deux choses qui me viennent à l'esprit :
Premier : strip_tags
n'est pas une fonction miracle :elle a quelques défauts...
Par exemple, elle enlèvera tout après le '<', dans une situation comme celle-ci :
$str = "10 appels is <than 12 apples";
var_dump(strip_tags($str));
La sortie que j'obtiens est :
string '10 appels is ' (length=13)
Ce qui n'est pas très agréable pour vos utilisateurs :-(
Deuxième : Un jour ou l'autre, vous voudrez peut-être autoriser certaines balises/attributs HTML; ou, même aujourd'hui, vous voudrez peut-être vous assurer que Markdown ne génère pas de balises/attributs HTML.
Vous pourriez être intéressé par quelque chose comme HTMLPurifier :il vous permet de spécifier les balises et les attributs à conserver, et filtre une chaîne, afin que seuls ceux-ci restent.
Il génère également un code HTML valide -- ce qui est toujours agréable ;-)