Myslím, že odstraněním jakékoli HTML značky ze vstupu získáte něco docela bezpečného – kromě případů, kdy někdo najde způsob, jak do Markdownu vložit nějaká opravdu zpackaná data a nechat vygenerovat ještě více zmatený výstup ^^
Přesto mě napadají dvě věci:
První: strip_tags
není zázračná funkce:má určité nedostatky...
Například v situaci, jako je tato, odstraní vše po '<':
$str = "10 appels is <than 12 apples";
var_dump(strip_tags($str));
Výstup, který dostanu, je:
string '10 appels is ' (length=13)
Což pro vaše uživatele není tak příjemné :-(
Druhá: Jednou nebo jindy možná budete chtít povolit některé HTML značky/atributy; nebo dokonce i dnes si můžete být jisti, že Markdown negeneruje některé HTML tagy/atributy.
Mohlo by vás zajímat něco jako HTMLPurifier :umožňuje vám určit, které značky a atributy mají být zachovány, a filtruje řetězec tak, aby zůstaly pouze ty.
Generuje také platný HTML kód -- což je vždy příjemné ;-)