PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   Führende Leerzeile (https://www.php-resource.de/forum/php-developer-forum/21294-fuehrende-leerzeile.html)

Astrominus 14-06-2003 12:49

Führende Leerzeile
 
Hallo

Ich habe eine Textarea, über diese Text in die DB geschrieben wird.

Dabei tritt folgendes Problem auf.

Gibt man in der Textarea eine führende Leerzeile ein, so wird diese zwar in die DB geschrieben, aber beim wiederauslesen, nicht wieder in der Textarea angezeigt.

Gebe ich 2 Leerzeilen vor dem eigentlichen Text ein, so wird zumindest eine davon in der Textarea angezeigt.

Aber ich möchte, das bei eingabe einer führenden Leerzeile, diese beim wiederauslesen auch in der Textarea angezeigt wird.

Weiss vielleicht jemand eine Lösung meines kleinen Problems ???
(Sofern es eine gibt)

Günni 14-06-2003 13:21

Wenn du die Daten aus einer DB liest musst du die Leerzeilen mit hilfe von nl2br() wieder darstellen.

Astrominus 14-06-2003 13:28

Danke mal, aber soweit war ich schon, nur leider zeigt er mir dann in der Textarea das "<br />" auch an, und das möchte ich nach möglichkeit nicht.

Mach ich innerhalb des Textes einen Zeilenumbruch, so funktioniert es da doch auch, warum nicht bei einem Zeilenumbruch am Anfang:confused:

Nezzar 14-06-2003 13:33

Probier mal dies auf den String bevor du ihn die DB schreibst:
PHP-Code:

preg_replace("/^\n/""\n\n"$der_string); 


graf 14-06-2003 13:35

ändere doch mal die wrap eigenschaft der textarea

Astrominus 14-06-2003 13:41

Habe ich beides gerade getestet, nur leider bringt das auch nichts:(

Hier im Board kann mann übrigens auch keine Zeilenumbrüche VOR dem Text machen.
Aber da wird wohl irgendwo die "Trim-Funktion" zum Einsatz kommen, das ist bei mir nicht der Fall.

Astrominus 14-06-2003 14:46

Das scheint ein HTML-Problem zu sein.

Sorry wenn ich es ins falsche Forum gesetzt habe:rolleyes:
Hier mal ein kleines Beispiel zum selbst testen;)
PHP-Code:

<form action="<? echo $self_php ?>" method="post">
<textarea name="test" wrap="physical"><? echo "$test ?></textarea>
<input type="
submit">
</form>

Gibt mann nun einen Zeilenumbruch ein und danach Text, so wird nach dem absenden der Zeilenumbruch gelöscht.
Bei 2 Zeilenumbrüchen am Anfang wird zumindest einer überommen.

Aber eine kleine Lösung habe ich gefunden.
Bevor es in die Textarea geschrieben wir, habe ich folgenden Code gesetzt.
PHP-Code:

$pos strpos($string,"\n");
      if(
$pos==1)
{
      
$string="\n".$string;


Steht am Anfang des Stringes nun also ein Zeilenumbruch, so wird einfach noch einer vorangehängt.
Das funktioniert bis jetzt prima:)

wahsaga 14-06-2003 18:27

haste schon mal versucht, das
Code:

wrap="physical"
rauszulassen aus der definition der textarea?

Astrominus 14-06-2003 18:39

Ja hatte ich auch schon.

Mit wrap, ohne wrap, verschiedene Atribute, immer das gleiche.
Der erste Zeilenumbruch (sofern er am Anfang steht) wird nicht übernommen (Warum auch immer)

Aber mit dem kleinen Trick oben, funktioniert es nun trotzdem wie ich wollte:)

Günni 15-06-2003 00:38

Und welcher kleiner Trick war das???

TobiaZ 15-06-2003 00:47

@günni: falls es dich wirklich interessiert, dann lies doch einfach den ganzen tread und frag nicht einfach nur. schließlich hats dich bis jetzt auch nicht gekümmert!

Zitat:

Aber eine kleine Lösung habe ich gefunden.
Bevor es in die Textarea geschrieben wir, habe ich folgenden Code gesetzt.

PHP:--------------------------------------------------------------------------------
$pos = strpos($string,"\n");
if($pos==1)
{
$string="\n".$string;
}

--------------------------------------------------------------------------------
Steht am Anfang des Stringes nun also ein Zeilenumbruch, so wird einfach noch einer vorangehängt.
Das funktioniert bis jetzt prima

Astrominus 15-06-2003 10:10

Zitat:

Original geschrieben von Astrominus
Aber eine kleine Lösung habe ich gefunden.
Bevor es in die Textarea geschrieben wir, habe ich folgenden Code gesetzt.
PHP-Code:

$pos strpos($string,"\n");
      if(
$pos==1)
{
      
$string="\n".$string;


Steht am Anfang des Stringes nun also ein Zeilenumbruch, so wird einfach noch einer vorangehängt.
Das funktioniert bis jetzt prima:)

;) :D
#EDIT
Uuuuuups, ich habe den Beitrag von Tobiaz übersehen:rolleyes:

Sorry:rolleyes: :rolleyes: :rolleyes:

Günni 15-06-2003 13:36

Sorry, muss ich vor lauter eile gestern überlesen haben.

TobiaZ 15-06-2003 21:05

wers glaubt!

weserweb 23-09-2003 23:57

danke
 
@ Astrominus,

stiess heute auf dasselbe problem.

ich habe deine lösung übernommen.

funktioniert bisher ohne probleme. danke!


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:03 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG