| 

.NET C# Java Javascript Exception

3
Ich bekomme vom Texteditor im Browser HTML zurück, will aber aus Sicherheitsgründen nur Text speichern (und später wieder ausgeben). Wie kriege ich alle Html-Tags weg und behalte nur den Text? Ich programmiere mit PHP.
01.09.2009
nukegara 61 2 2
3 Antworten
10
In PHP gibt es dafür die Funktion strip_tags().
01.09.2009
FalkP 3,3k 3 8
5
Als zweiten Parameter nimmt diese Funktion optional einen String entgegen, der Tags enthält, die Du explizit erlauben möchtest. So kannst Du ein <strong> oder <i> für minimale Formatierungen innerhalb des Textes zulassen.

siehe http://de2.php.net/manual/en/function.strip-tags.php
07.09.2009
simlux 101 1 2
Wobei man mit diesem Parameter vorsichtig umgehen sollte. Das ansonsten "harmlose" <i> oder <strong> Tag kann nämlich dann (u.U.) schadhaften JS-Code (z.B. in einem onmousemove) enthalten. dieser würde dann nicht entfernt werden.
Bsp.:
[code]
echo strip_tags('Hallo <i onmousemove="alert(\'Böse, Böse\')">Freunde</i>', '<i>');
[/code]
Beim Überfahren mit der Maus erscheint die Alert-Box, da das <i> Tag von der Entfernung komplett ausgeschlossen ist.
Läßt man also über den zweiten Parameter bestimmte Tags zu, so muß man sich zusätzlich um die Entfernung evtl. gefährlicher Attribute kümmern.
FalkP 08.10.2009
1
Alternativ dazu

http://de.php.net/htmlspecialchars und
http://de.php.net/manual/de/function.htmlspecialchars-decode.php

mit welchen man auch wieder zurückwandeln kann.

Also z.B. von
<a href="test">TestLink</a>
zu
&lt;a href=&quot;test&quot;&gt;TestLink&lt;/a&gt;

und wieder zurück.
08.10.2009
Adar 21 1

Stelle deine Php-Frage jetzt!