Textarea zeigt nichts in <> an

cct

Grünschnabel
Hallo!

Hab mal ne Frage. Und zwar hab ich ein Textfeld bzw. Textarea, dessen Eingaben auf einer Seite angezeigt werden.(z.B. zum drucken).

Wenn ich jetzt in meine Textarea etwas eingebe,das in <> steht (z.B. <verzeichnis>), dann wird mir das auf der Seite nicht angezeigt, sondern komplett weggelassen.

Also z.B. wird wenn ich:"test <verzeichnis> " eingebe wird nur "test" angezeigt.

Woran liegt das

Schon mal danke.

cct
 
<> = HTML-Tag, denkt zumindest der Browser.
Jag doch die htmlspecialchars() über den Text, der sollte die "<" und ">" in den entsprechenden Code (&gt; und &lt;) verwandeln, und dann sind die sichtbar.
 
Zuletzt bearbeitet:
Oh, verdammt.
Jetzt hab ich allerdings ein anderes Problem. Und zwar hab ich Textfelder in denen ich zuerst 2 Blanks, dann einen Wert und dann wieder 2 Blanks eingeben, bzw.aus einer Datenbank eingegeben werden.

Das konnte ich bisher mit "&nbsp;&nbsp;TEXT&nbsp;&nbsp;" ;

Das funktioniert nun natürlich nicht mehr, da ich htmlspecialchars() verwendet habe.

Gibt es noch einen anderen Weg, dass mir die Blanks erhalten bleiben

Wahrscheinlich nicht, oder?
 
Da ich so eine Funktion sowieso bei mir habe.. ;).

Code:
function schuetze_zeichen($mystring)
{
	$myarray = array("$nbsp;"); /* Diese Zeichen sollen maskiert werden */
	$mask = array("[leere]"); /* Dieses sind die Masken */
	for($x=0;$x<count($array);$x++){
		$mystring = str_replace($myarray[$x],$mask[$x],$mystring); /* Ersetzung der Zeichen durch Masken */
	}
	$mystring = htmlentities($mystring); /* Sonderzeichen werden umgewandelt */

	for($x=0;$x<count($myarray);$x++){
		$mystring = str_replace($mask[$x],$myarray[$x],$mystring); /* Und die Masken werden wieder entfernt */
	}
	return $mystring;
}

in das erste array kommen alle zeichenfolgen die du von htmlspecialchars() schützen willst, in das zweite für jede der folgen rigendeine zeichenfolge die:
1) Normalerweise nicht im Text volkommt und
2) keine elemente enthält die htmlspecialchars() umwandelt

Funktioniert bei mir Problemlos :)
 
Zurück