Avatar billede dank Nybegynder
27. september 2003 - 14:46 Der er 6 kommentarer

Hvordan håndterer jeg linieskift

i http://www.eksperten.dk/spm/406483 fik jeg løst at flytte noget tekst over i et textarea. Det virker fint, men nu har jeg fået et nyt problem.

Jeg henter indholdet fra PHP/MySQL således:

<a href="" onclick="putText('<? echo $autosvaret; ?>'); return false">link</a>

Problemet opstår nu fordi $autosvaret indeholder linieskift, som det er formateret. f.eks. så kommer HTML koden til at se sådan her ud:

---

<a href="" onclick="putText('Adressen til abc er

abc, bl.a. bl.a.

brug telefax om nødvendigt..); return false">link</a>

---

Hviklet jo så ikke virker... Er der nogen der har nogle idéer eller ved hvordan denne skal gribes an?

Jeg gemmer i MySQL i text(500)
Avatar billede grunken Nybegynder
27. september 2003 - 15:24 #1
du er simpelthen nødt til at udskifte \n fra databasen med en anden form for breaks ex.

$autosvaret = str_replace("\n", "[br]", $databaseudtræk);

derefter er du nødt til at reverte den med javascript

tager shaefners linie fra tidligere :) som så skal udskiftes med

document.frm.textfield1.value = tekst.replace("[br]","\\n");

sådan noget ligende, men måske burde spørgsmålet være stillet i php kategorien ;)
Avatar billede grunken Nybegynder
27. september 2003 - 15:28 #2
og der sneg sig en \ for meget ind

document.frm.textfield1.value = tekst.replace("[br]","\n");
Avatar billede grunken Nybegynder
27. september 2003 - 15:43 #3
og havde ikke lige testet, og åbenbart glemt brugen af js's replace function så vi ændrer scriptet:

<script language="javascript">
function putText(text){
formateret ="";
text = text.split("[br]")
  for(i=0;i<text.length;i++)formateret+=text[i]+"\n";
document.frm.textfield1.value = formateret;
}
</script>
Avatar billede dank Nybegynder
27. september 2003 - 16:45 #4
ja.. det ser ud til at virke.. tak for hjælpen.. opretter du svar?
Avatar billede erikjacobsen Ekspert
27. september 2003 - 17:01 #5
Er det nødvendigt at gøre det to gange. Dette ser da ud til at være ok:

<form method="post" name="form1">
<TEXTAREA NAME="felt1" ROWS="" COLS=""></TEXTAREA>
</form>

<SCRIPT LANGUAGE="JavaScript">
<!--
document.form1.felt1.value='hej\nmed\ndig';
//-->
</SCRIPT>

dvs. at du bare skal:

$autosvaret = str_replace("\n", "\\n", $databaseudtræk);

...men det kan jo være jeg overser noget
Avatar billede grunken Nybegynder
27. september 2003 - 17:34 #6
det tror jeg egentligt ikke erik ;)

jeg havde bare overhovedet ikke set den lige foran øjnene mulighed!
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