ersetzen Sie \n mit ist-neue-Zeile-Zeichen-code

Ich bin ziehen Inhalte aus einer DB wurde desinfiziert mit mysql_real_escape_string.
Dementsprechend wurde die neue-Zeile-Zeichen erscheinen jetzt als "\n".
Das Problem ist, dass diese Inhalte angezeigt, die zu Benutzern innerhalb eines < pre > - tag, so kann ich nicht ersetzen \n mit < br/> zum Beispiel.

Ich glaube, ich könnte ersetzen \n die mit dem eigentlichen utf8-Zeichen-code vor dem einfügen das Ergebnis innerhalb des < pre>.

Kann somoneone helfen hier? Nicht mit mysql_real_escape_string ist nicht wirklich eine option, aufgrund der Sicherheits-policy.

Dank.

  • Ich bin ein bisschen verwirrt, normalerweise Ihre Daten zurückgegeben werden sollen, ohne Umschreibung. Die Art und Weise, die Sie es beschreiben, es ist, als wenn die Daten gingen durch mysql_real_escape_string() zweimal, bevor gespeichert wird
  • Es klingt eigentlich wie Sie über-sanitized der Daten durch die Flucht es zweimal. Wenn Sie in mysql_real_escape_string("two\nlines"); es wird ein echtes \n Charakter in der Datenbank. Wenn Sie die Daten aus, sollte es keine Notwendigkeit, Sie zu ersetzen \n zurück. Wenn Sie halten es auf diese Weise, erwarten Probleme mit " und " sowie.
  • vielleicht bist du ein Opfer der irrsinnigen "magic_quote" - Funktion in php - stellen Sie sicher, dass Sie deaktivieren Sie es, es verwirrt nur diejenigen, die bewusst das Konzept der Flucht.
  • In der Tat sieht es wie die Daten entgangen war zweimal. Ich bin mit Zend_db und es scheint, dass es mit mysql_real_escape_string standardmäßig.
InformationsquelleAutor Max | 2010-07-16
Schreibe einen Kommentar