Der interpretiert mir da zuviel rum [DB Einträge auslesen]

Tim C.

Erfahrenes Mitglied
Also ich hab auf ner Homepage eine Sparte "Quotes" wo alle möglichen Zitate drinne stehen. Da kommen unter anderem auch Ausschnitte aus IRC-Logs rein. Die werden dann in ne DB geschrieben. Soweit klappt das auch alles wunderbar herrlich. Aber jetzt.
Für diejenigen die nicht genau wissen wie ein IRC Log aussieht hier eine Zeile daraus:
Code:
[19:03] <nickname> Blubberbalbablabalba LABER

Das Problem sind die < und > um den Nickname wenn die da drum sind dann zeigt er den bei der Ausgabe nicht an, wenn ich jedoch irgendwie sowas hier habe z.B. <|y`Leuchte|> dann gehts irgendwie wegen den |. ich hab auch schon mit vorher addslashes und nachher stripslashes gemacht bringt aber auch nix. Irgendwer ne Idee wie ich
1) Die Schreibweise der IRC-Logs beibehalten kann
2) trotzdem noch dinge wie <i> und <b> interpretiert werden.


danke im vorraus für die sicherlich prompte Hilfe
 
Schätz mal, du meinst htmlentities($string)

Des formt sämtliche Sonderzeichen (u.A. '<', '>', Umlaute...)in den entsprechenden HTML-Code um, so dass er auf der Seite dann korrekt dargestellt wird.

Am Besten schon so in die DB schreiben, dann kannstes dir beim Auslesen sparen.
 
PHP:
$string = htmlentities($string);
$string = eregi_replace("&lt;(/?)([bui]{1})&gt;", "<\\1\\2>", $string);
Damit werden zuerst alle Sonderzeichen in HTML-konforme Schreibweise gebracht. Dann werden die Formatierungs-Tags b, i und u samt ihrer End-Tags wieder in die normale Form gebracht.
Das einzige Problem bei der Sache ist, dass sich keiner den Nick 'b', 'u' oder 'i' zulegen darf, weil's dann nicht mehr funktioniert ;)


reima
 
Zurück