Ich denke, das Entfernen von HTML-Tags aus der Eingabe bringt Ihnen etwas ziemlich Sicheres - außer wenn jemand einen Weg findet, einige wirklich durcheinandergebrachte Daten in Markdown einzufügen, wodurch es noch mehr durcheinandergebrachte Ausgaben erzeugt ^^
Trotzdem fallen mir zwei Dinge ein :
Erste: strip_tags
ist keine Wunderfunktion:Sie hat einige Fehler...
Zum Beispiel wird in einer Situation wie dieser alles nach dem '<' entfernt:
$str = "10 appels is <than 12 apples";
var_dump(strip_tags($str));
Die Ausgabe, die ich bekomme, ist:
string '10 appels is ' (length=13)
Was für Ihre Benutzer nicht so schön ist :-(
Zweite: Eines Tages möchten Sie vielleicht einige HTML-Tags/Attribute zulassen; oder Sie möchten vielleicht sogar heute sicher sein, dass Markdown keine HTML-Tags/Attribute generiert.
Vielleicht interessiert Sie etwas wie HTMLPurifier :Sie können festlegen, welche Tags und Attribute beibehalten werden sollen, und eine Zeichenfolge filtern, sodass nur diese verbleiben.
Es generiert auch gültigen HTML-Code – was immer nett ist ;-)