Jens Müller: /php - htmlspecialchars

Beitrag lesen

Guten Morgen Compu,

also ich verwende seit gestern den Befehl "htmlspecialchars",
um Texte aus der mysql Datenbank mit php auszugeben. Es kommen
viele Deutsche Umlaute vor, diese werden wunderbar umgewandelt.

Wieso nun dieses Problem?

"Diese Funktion ist nützlich, um vom Benutzer gelieferten Text
  frei von HTML-Code zu halten, wie z.B. in Forums- oder
  Gästebuch-Applikationen."
http://de.php.net/manual/de/function.htmlspecialchars.php

Allerdings habe ich nun im Quelltext stehen:
<h2>1. Inhalt des Onlineangebotes</h2>

Also <h2>1. Inhalt des Onlineangebotes</h2> im Browser.

Da solltest du dir eine Andere Loesung einfallen lassen, mit
PHP bieten sich da einige Moeglichkeiten an. Da kann ich dir
Besonders die preg Funktionen in PHP empfelen.

etwa so:
  $text  = preg_replace("/ä/","ä","$text");
  $text  = preg_replace("/Ä/","&Auml;","$text");
  $text  = preg_replace("/ö/","ö","$text");
  $text  = preg_replace("/Ö/","&Ouml;","$text");
  $text  = preg_replace("/ü/","ü","$text");
  $text  = preg_replace("/Ü/","&Uuml;","$text");
  $text  = preg_replace("/ß/","ß","$text");

http://de.php.net/manual/de/ref.pcre.php

Das ist aber, wie du siehst, nur bei kleineren Teilmengen
sinvoll. Wie eben bei den Deutschen Umlauten.

gruesse
  jens mueller

--
Alles sollte so einfach wie möglich gemacht werden,
- aber nicht einfacher. / Albert Einstein Physiker (1879-1955)