Julius: verhindern, dass Frickl script-Elemente in einem Attribut ausliest

Beitrag lesen

Hallo Felix,

Allerdings liest Frickl dummerweise script-Elemente aus, auch wenn sie sich – wie im Beispiel – in einem Attributwert befinden:

das liegt daran, dass das dahinterliegende PHP-Script mit einem relativ simplen preg_match_all operiert, anstatt einen kompletten HTML-Parser zu bemühen:

Dachte mir schon, dass das was damit zu tun haben könnte.

Ich habe vorerst < und sicherheitshalber auch > escaped,

Sehr gut. Das ist momentan die sicherste Lösung.

Aber leider nicht sehr elegant. Ich stelle mir dann das Szenario vor, dass jemand den Beispiel-Quelltext im Wiki-Artikel verändert und dann einfach in das Live-Beispiel Copy-Pastet und dann das Escapen übersieht, woraufhin es knallt. Natürlich könnte man auch im Artikel selbst die betreffende Stelle escapen, aber das wäre der Übersicht nicht zuträglich und (erst seit HTML5?) muss ja bis auf das Anführungszeichen nichts mehr im Attribut escaped werden.

aber eine allgemeine Lösung wäre natürlich – sofern realisierbar – vorzuziehen:

Welchen Parser empfiehlst Du, dass ich ihn in einer Extension für eine veraltete MediaWiki-Version einsetze? Aktuell habe ich etwas Erfahrung mit masterminds/html5, was mir aber gehörig überdimensioniert erscheint. Geht es nicht etwas einfacher?

Ich habe mal mit SimpleXML einen einfachen Feedreader gebastelt, damit kann man über Umwege wohl auch HTML einlesen. Was hat der HTML-Parser mit der MediaWiki-Version zu tun?

Warum wählt man für die Beispiele nicht (optional) ein Format, wie es auch bei CodePen praktiziert wird? Die scheinen HTML, CSS und JS ja auch separat zu speichern. – Gut, man kann vermutlich ohne JS nichts in den Head-Bereich der Seite schreiben, aber sonst?

Gruß
Julius