/php - htmlspecialchars
Compu
- html
0 Helmut Weber0 Compu0 Bernd Boruttau0 bb
0 small-step
0 Jens Müller0 wahsaga
Guten Morgen,
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.
Allerdings habe ich nun im Quelltext stehen:
<h2>1. Inhalt des Onlineangebotes</h2>
Also <h2>1. Inhalt des Onlineangebotes</h2> im Browser.
Wieso nun dieses Problem?
Danke!
Guten Morgen,
Allerdings habe ich nun im Quelltext stehen:
<h2>1. Inhalt des Onlineangebotes</h2>Also <h2>1. Inhalt des Onlineangebotes</h2> im Browser.
Wieso nun dieses Problem?
Weil durch den Befehl "htmlspecialchars" die Zeichen < und > in < bzw. > umgewandelt werden.
Es macht generel keinen Sinn Text, in dem HTML vorkommt, mit dem Befehl "htmlspecialchars" zu behandeln.
Gruß
Helmut Weber
Guten Morgen Helmut,
Es macht generel keinen Sinn Text, in dem HTML vorkommt, mit dem Befehl "htmlspecialchars" zu behandeln.
Nun ich habe verschiedene Texte in der Datenbank. Diese sind natürlich mit html formatiert. Sonst hätte ich ja nun einen riesen Klump an Text ohne Überschriften,etc.
Ich möchte halt, dass (nur) die Umlaute html gerecht dargestellt (konvertiert)werden.
Danke
Guten Morgen Helmut,
Es macht generel keinen Sinn Text, in dem HTML vorkommt, mit dem Befehl "htmlspecialchars" zu behandeln.
Nun ich habe verschiedene Texte in der Datenbank. Diese sind natürlich mit html formatiert. Sonst hätte ich ja nun einen riesen Klump an Text ohne Überschriften,etc.
Ich möchte halt, dass (nur) die Umlaute html gerecht dargestellt (konvertiert)werden.Danke
versuchs doch mal mit
$bodytag = str_replace("%body%", "black", "<body text=%body%>");
mit str_replace kannst du z.b. die umbrüche aus mehrzeiligen eingabefeldern in <p> bzw. <br> umwandeln
ich persönlich nutze die funktion um events aus dem burning-board kalender anzuzapfen und den bb-code zu filtern.
mfg
bernd
noch mal ne ergänzung
ha ich weiter unten im forum gefunden
http://forum.de.selfhtml.org/?t=50417&m=276482
hi,
Nun ich habe verschiedene Texte in der Datenbank. Diese sind natürlich mit html formatiert. Sonst hätte ich ja nun einen riesen Klump an Text ohne Überschriften,etc.
Ich möchte halt, dass (nur) die Umlaute html gerecht dargestellt (konvertiert)werden.
dann würde ich dir vorschlagen einen kleinen parser zu schreiben mit dem du selbst definierte tags wie z.b. [h1]überschrift[/h1] nach dem auslesen in html-tags umwandelst. was ähnliches wird hier im forum ja auch genutzt.
gruß,
small-step
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("/Ä/","Ä","$text");
$text = preg_replace("/ö/","ö","$text");
$text = preg_replace("/Ö/","Ö","$text");
$text = preg_replace("/ü/","ü","$text");
$text = preg_replace("/Ü/","Ü","$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
Hallo Jens,
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.
für was reguläre Ausdrücke? ein str_replace() reicht hier auch...
$text = preg_replace("/ä/","ä","$text");
[...]
$text = preg_replace("/ß/","ß","$text");
da gefällt mir die Lösung von Sebastian weiter unten aber besser ->[pref:t=50417&m=276482]
Grüße aus Nürnberg
Tobias
hi,
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.
und wofür willst du diese umwandeln?
gib einen korrekten zeichensatz an, der auch die deutschen umlaute enthält, dann kannst du dir das kodieren sparen.
gruss,
wahsaga