nl2br problem
Conrad
- php
hi,
ich trage einen text aus einem textarea mittels nl2br in eine datenbank ein.
wenn ich jetzt diesen text wieder in ein textarea "schmeiße", dann sind die <br /> sichtbar.
wie kann ich das aber verhindern, das die <br /> angezeigt werden, jedoch die reinen zeilenumbrüche sollen erhalten bleiben?
Beispiel:
schritt 1:
dies ist ein
text
eintrag in der datenbank:
dies ist ein<br />
<br />
text
jetzt lasse ich es mir wieder in einem textarea anzeigen und es soll statt:
dies ist ein<br />
<br />
text
wieder folgendes dastehen:
dies ist ein
text
danke
Hallo.
Wie wäre es mit einer kleinen Funktion wie bspw. :
<?
function br2nl( $data ) {
return preg_replace( '!<br.*>!iU', "\n", $data );
}
?>
Schönen Gruß
Tobi
Hi Tobi,
<?
function br2nl( $data ) {
return preg_replace( '!<br.*>!iU', "\n", $data );
}
?>
Warum so kompliziert, wenn es auch enfach geht?
Was du willst ist:
1. Text in Textarea schreiben
2. Text aus Textarea ub DB speichern
3. Text aus DB wieder in Textarea
Warum machst du dir überhaupt die Mühe die \n in <br /> umzuwandeln?
Lass sie einfach wie sie sind, dann klappts bei der Ausgabe von alleine.
Und wenn du irgendwann mal das nicht in einer Textarea ausgeben willst,
dann machst du nl2br() bei der Ausgabe! Das ist eh viel besser, da so eine
Abwärtskompatiblität gewährt ist.
MfG, Dennis.
hi,
mache jetzt folgendes und es fkt. nicht:
function br2nl($nachricht)
{
return preg_replace('!<br.*>!iU',"\n",$nachricht);
}
$test = "hallo <br /><br /> oweijf f<br />";
br2nl($test);
echo($nachricht);
jetzt gibt er mir nichts aus
hi,
function br2nl($nachricht)
{
return preg_replace('!<br.*>!iU',"\n",$nachricht);
}$test = "hallo <br /><br /> oweijf f<br />";
br2nl($test);
warum wirfst du den rückgabewert der funktion einfach weg?
echo($nachricht);
wo bitte hast du $nachricht definiert?
du solltest dich wirklich noch mal mit den grundlagen im umgang mit funktionen beschäftigen, denn offenbar hast du das thema bisher stark vernachlässigt.
gruß,
wahsaga
Moin!
function br2nl($str)
{
$str=str_replace("<br />\n", "\n", $str);
return $str;
}
nl2br mach aus Zeilenumbüchen ("\n") ein br + Zeilenumbruch, also: "<br />\n";
Das musst Du suchen und ersetzen. Da reicht aber str_replace().
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Hi,
ich trage einen text aus einem textarea mittels nl2br in eine datenbank ein.
speichere die Daten in ihrer Rohform. Konvertiere sie _erst_ bei Bedarf.
Cheatah