Acho que remover qualquer tag HTML da entrada fornecerá algo bastante seguro - exceto se alguém encontrar uma maneira de injetar alguns dados realmente confusos no Markdown, gerando uma saída ainda mais confusa ^^
Ainda assim, aqui estão duas coisas que me vêm à mente:
Primeiro:
strip_tags
não é uma função milagrosa :ela tem algumas falhas...Por exemplo, ela removerá tudo depois do '<', em uma situação como esta:
$str = "10 appels is <than 12 apples";
var_dump(strip_tags($str));
A saída que recebo é:
string '10 appels is ' (length=13)
O que não é tão bom para seus usuários :-(
Segundo: Um dia ou outro, você pode querer permitir algumas tags/atributos HTML; ou, ainda hoje, você pode querer ter certeza de que o Markdown não gera algumas tags/atributos HTML.
Você pode estar interessado em algo como HTMLPurifier :permite especificar quais tags e atributos devem ser mantidos e filtra uma string, para que apenas esses permaneçam.
Ele também gera código HTML válido -- o que é sempre bom ;-)