Avatar billede hewa Nybegynder
11. februar 2007 - 17:50 Der er 13 kommentarer og
1 løsning

Hvrdan slipper jeg for linjeskift i textbox i browser?

Når jeg opretter noget i en textbox via en browser, kommer der altid et linjeskift, når jeg henter det frem igen. Der kommer så et nyt og et nyt og... ja sådan fortsætter det, for hver gang jeg skal redigere i et textfelt.

Hvordan pokker slipper jeg af med det linjeskift...?

Spørg endelig hvis det lyder som tåger, det jeg siger :)
Avatar billede thesurfer Nybegynder
11. februar 2007 - 18:00 #1
Gemmer du til en fil, og læser fra den igen?
Avatar billede hewa Nybegynder
11. februar 2007 - 18:06 #2
Det sker på to måder:
1) Når jeg lægger det i min database og trækker det ud igen, så er der kommet et linjeskift
2) Jeg lavet noget, hvor man kan skrive en historie, og inden kan man rette i den, inden det bliver smidt i databasen. Når teksten via en session bliver lagt i felter igen, er det også kommet et linjeskift

Og jeg fatter ikke, hvor det kommer fra...
Avatar billede thesurfer Nybegynder
11. februar 2007 - 18:18 #3
Man kunne måske bare snuppe fra start, og til slutning - 1 karakter.. med Substring..

Eksempel:

$tmp = "Hello World "; // læg mærke til det sidste tegn, som er et mellemrum
$tmp = substr($tmp, 0, $tmp.length - 1);

Jeg mener at man kan bruge $tmp.length..
Avatar billede hewa Nybegynder
11. februar 2007 - 18:22 #4
Men hvis strengen ser sådan ud, "hello world", vil den så ikke blive til "hello wol"?
Avatar billede thesurfer Nybegynder
11. februar 2007 - 18:24 #5
Jo, det har du ret i.. :-)

Jeg tænkte mig ikke rigtigt om der..

Så tester vi bare:

$tmp = "Hello World "; // læg mærke til det sidste tegn, som er et mellemrum
if (substr($tmp, tmp.length -1) == " " || substr($tmp, tmp.length -1) == "\n")
{
  $tmp = substr($tmp, 0, $tmp.length - 1);
}

Jeg ved ikke lige om den sidste del virker.. altså denne del:

substr($tmp, tmp.length -1) == " "
Avatar billede hewa Nybegynder
11. februar 2007 - 18:29 #6
Uha... men er det så avanceret at fjerne et linjeskift - som jo ikke virkeligheden ikke burde være der? Er det et linjeskift alle bøvler med?
Avatar billede thesurfer Nybegynder
11. februar 2007 - 18:31 #7
"substr($tmp, 0, $tmp.length - 1);" skulle gerne fjerne det sidste tegn..

Nu kan jeg ikke helt huske, om linieskift består af 1 tegn som er "\n", eller om det består af 2 tegn som er "\r\n"..

Hvis det bare er 1 tegn som er "\n", skulle koden virke med både mellemrum som sidste tegn, og med linieskift..
Avatar billede hewa Nybegynder
11. februar 2007 - 18:41 #8
Jeg har lige været et smut omkring databasen, og der ligger alting uden linjeskift til sidst - dvs. det er først når jeg henter det ind i et felt i browseren, det kommer... er det ikke for underligt?

Dermed skal jeg have en kode for at fjerne noget, der ikke var der oprindeligt...
Avatar billede thesurfer Nybegynder
11. februar 2007 - 18:50 #9
Må vi lige se din kode, der udskriver til felterne..?
Avatar billede hewa Nybegynder
11. februar 2007 - 19:01 #10
Meget gerne, her er en af koderne:

$query = mysql_query("SELECT * FROM citater WHERE citat_id ='".$_GET['citat_id']."'");
$row = mysql_fetch_assoc($query);


echo "
<form action='' method='POST'>
<b>Skriv citat:</b><br>
<textarea name='citat' style='width: 300 px;' rows='5'>
".$row['citat']."
</textarea><br><br>
<input type='submit' value='Gem' name='opret'>
</form>";
Avatar billede thesurfer Nybegynder
11. februar 2007 - 19:05 #11
Du laver jo selv mellemrum! :-)

<textarea name='citat' style='width: 300 px;' rows='5'>
".$row['citat']."
</textarea>

Det skal bare være:

<textarea name='citat' style='width: 300 px;' rows='5'>".$row['citat']."</textarea>

husk resten..
Avatar billede thesurfer Nybegynder
11. februar 2007 - 19:05 #12
Textarea er ikke ligesom textbox.. I textarea, tager den alle linieskift med..

Eksempel:
hej
med
dig

Det er 3 linier..
Avatar billede hewa Nybegynder
11. februar 2007 - 19:21 #13
NEEEEEEJ, det var mig selv ZZZzzzZZZ - det kunne jeg SLET ikke få øje på... skynd dig at sende et svar, så du kan få point - og shhhh, sig det ikke til noget, hahaha :)
Avatar billede thesurfer Nybegynder
11. februar 2007 - 20:56 #14
Hehehe.. ok.. jeg siger det ikke til nogen.. :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester