dedlfix: Entities NICHT umwandeln

Beitrag lesen

Hi!

ich wandle zum Speichern in MySQL alle Sonderzeichen mit htmlspecialchars() um.
Wozu machst du sowas Unsinniges?
Das habe ich beschrieben. Ich möchte eventuelle HTML-Angaben im Formular von meinen Link-Formatierungen trennen, um diese bei der Ausgabe erkennen zu können.

Zunächst einmal solltest du zwischen den beiden Schritten DBMS und HTML trennen. Wenn du etwas ins DBMS schreiben willst, vergiss, dass das HTML oder sonstwas ist. Betrachte nur die einzelnen Zeichen und schreib diese DBMS-gerecht.

Dann wende dich der Ausgabe zu. Da hast du nun ein Problem, weil - wenn ich das richtig verstehe - du zwar kein HTML generell zulassen willst, aber Links erlauben willst - also ein bisschen HTML. Und nun willst du wissen, wie man das auseinanderklamüsern kann? Am besten macht man sowas nicht und nimmt stattdessen BBCode oder was ähnliches. Dann kannst du htmlspecialchars() auf den Text anwenden (aber wegen der BBCode-Syntax die " auslassen (gibt einen Parameter dafür), die muss man im Fließtext sowieso nicht maskieren). Anschließend preg_replace() auf die BBCode-URLs ansetzen.

Lo!