Myślę, że usunięcie dowolnego tagu HTML z danych wejściowych zapewni ci coś całkiem bezpiecznego — z wyjątkiem sytuacji, gdy ktoś znajdzie sposób na wstrzyknięcie naprawdę pomieszanych danych do Markdowna, generując jeszcze bardziej pomieszane dane wyjściowe ^^
Mimo to, oto dwie rzeczy, które przychodzą mi na myśl:
Pierwszy : strip_tags
nie jest funkcją cudu:ma pewne wady...
Na przykład, w takiej sytuacji usunie wszystko po znaku '<' :
$str = "10 appels is <than 12 apples";
var_dump(strip_tags($str));
Otrzymuję wynik:
string '10 appels is ' (length=13)
Co nie jest miłe dla Twoich użytkowników :-(
Drugi : Któregoś dnia możesz chcieć zezwolić na niektóre tagi/atrybuty HTML; lub nawet dzisiaj możesz chcieć mieć pewność, że Markdown nie generuje niektórych tagów/atrybutów HTML.
Może Cię zainteresować coś takiego jak HTMLPurifier :pozwala określić, które znaczniki i atrybuty powinny być zachowane, oraz filtruje ciąg, tak aby pozostały tylko te.
Generuje również prawidłowy kod HTML – co zawsze jest miłe ;-)