Mailinglisten-Archive |
Salute Tim ! Ich mache es so, daß ich in der Datenbank urlencodetes Zeiug zu stehen habe, damit bin ich komplett unabhängig vom Datenbanktyp und ob der nun Deutsch unterstützt usw. Erlaube den Nutzern nun <i> und <b> und <u> zu schreiben. die eine Funktion heißt DE_in: (von Input bzw. Textarea IN die DB) function DE_in($txt) {return urlencode($txt);}; von DB zum Input/Textarea-Feld DE_out: function DE_out($txt) {return stripslashes(urldecode($txt));}; schließlich von DB zum Browser (frontend) DE_html: function DE_html($txt) {global $HTML_allow; $out = nl2br(htmlentities(DE_out($txt))); for ($i = 0 ; $i < count($HTML_allow); $i++) {$out = ereg_replace($HTML_allow[$i][1],$HTML_allow[$i][0], $out);}; return $out; }; mit d. Variablen: $HTML_allow = array( array("<b>","<b>"), array("</b>","</b>"), array("<u>","<u>"), array("</u>","</u>"), array("<i>","<i>"), array("</i>","</i>"), array("<a","<a"), array("href=\"http://","href=&qout;"), array("\">","&qout;>"), array("</a>","</a>") ); Wobei die Geschichte mit a href nicht läuft (later). Ich weiß nicht, ob das sonderlich elegant ist, geht erst mal und erschlägt bei mir mehrere Fliegen mit einer Klappe, aber insbesondere ist die DE_html sicherlich zu verbessern. Wäre aber auch an anderen Lösungen interessiert. Also denne, viel Spaß, Ingo.
php::bar PHP Wiki - Listenarchive