Der folgende Beitrag wurde am 07. 09. 2002, 23:17 Uhr von Ralph veröffentlicht.
Hallo,
folgendes Problem:
ich will Usereingaben parsen und folgendes erreichen:
- alle nicht genehmigten Tags entfernen
- genehmigte Tags dementsprechend drinlassen
- Sonderzeichen (alle die uebrigbleiben, ausser den genehmigten Tags) in ihr HTML-Äquivalent umwandeln.
Ich habe eine Funktion, die mir alle nicht genehmigten Tags entfernt, aber verwende ich danach
htmlspecialchars() oder htmlentities(), dann gehen mir auch alle anderen Tags verloren.
Gibt's da irgendwas?
Der folgende Beitrag wurde am 08. 09. 2002, 03:27 Uhr von fastix veröffentlicht.
Hi!
Ist doch ganz einfach!
Ersetze erst alle "<" und ">" in den erlaubten Tags durch ein anderes Zeichen oder einen Text z.B. "_k_l_e_i_n_e_r_" und dann wieder zurück.
fastix
Der folgende Beitrag wurde am 08. 09. 2002, 10:41 Uhr von Bernhard Mecl veröffentlicht.
> - alle nicht genehmigten Tags entfernen
> - genehmigte Tags dementsprechend drinlassen
vgl. strip_tags(), insbesondere den Parameter allowable_tags.
> - Sonderzeichen [...] in ihr HTML-Äquivalent umwandeln.
Ein Denkanstoß[tm]:
$table=get_html_translation_table(HTML_ENTITIES);
unset($table['&'],$table['"'],$table['<'],$table['>']);
strtr($string,$table);
Du mußt "nur mehr" das Problem lösten, daß die erwähnten vier Zeichen - in ihrer tatsächlichen Bedeutung vorkommend - natürlich auch nicht ersetzt werden. Das impliziert z.B. Nettigkeiten wie <input ... value="foo <> bar"> etc.
© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4