tekst driller på hjemmeside

Tags:    css net mssql

<< < 12 > >>
Hej.
Har et lille problem med visningen af tekst på en hjemmeside. Vil gerne have at man kan lave linjeskift i teksten så det ikke kommer ud i en lang køre.

nu vises det sådan her:
vare1=100kr vare2=100kr vare3=100kr

og det skal vises sådan her:
vare1=100kr
vare2=100kr
vare3=100kr

Har en admindel hvor teksten vises som den skal i en multiline tekstbox.
Mine overvejelser går på om det skyldes css eller om det er helt nede i databasen det er galt med. Har i MSsql gemt teksten som nvarchar(500).

Håber der er nogen der har et forslag:)

MVH



11 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Hvis det blot er tekst, så brug <br /> ?

vare1=1000<br />
vare2=1000<br />
next..


--
Hvis det skal i en boks, så brug css og benyt <div class="boks">Tekst1</div> osv.



Fold kodeboks ind/udCSS kode 


Bare et eks.




Indlæg senest redigeret d. 17.03.2012 17:31 af Bruger #17118
Tak for hurtigt svar,men der må være en anden løsing, hvor man ikke selv behøver at skrive <br/>, men blot nøjes med at trykke enter.



Ahva?

At trykke enter, jeg er slet ikke med på hvad du mener.
Snakker vi om at sætte en boks op på din side, hvor der vises produt/priser.

Er ikke med.. <br /> bruges til ny linie i blot html. Hvis det er med <table er det <td> med indhold </td> og <tr> ny line og afslut</tr>

--
Hvis det er fordi du opretter nyt produkt med mySQL/PHP. Så lav det på den måde, så sørger php filen selv for at indskrive det via din css/html metode.

Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 17.03.2012 17:36 af Bruger #17118
Du kan finde \n\r i din strenge, hvis du f.eks. har benyttet et <textarea> til at indsætte dine data i databasen, vil du formentlig have lave linjeskift med enter, og i databasen vil et linjeskift så blive til \n eller \r. Når du så henter dine data ud af databasen kan du køre den igennem Replace metoden som findes for alle strings.
Fold kodeboks ind/udCSharp kode 

Metoden Replace( oldValue , newValue ), fungerer på den måde at den går igennem din streng, og udskifter alle dine 'oldValues' med det som du har angivet skal være 'newValue'. - Læs evt. mere her



Indlæg senest redigeret d. 17.03.2012 17:44 af Bruger #4487
På admindelen indtaster jeg divere informationer navn, id, pris, beskrivele osv på et produkt. I beskrivelsen vil jeg skrive:
vare1=100kr
vare2=100kr
vare3=100kr

linjeskift kommer når man trykker på entertasten og det ser ud som det skal være i tekstboksen.

Problemet kommer når jeg skal vise den rigtige side, der kommer alt i en lang køre..

se evt. http://www.liebhaverhegn.dk/Smedejernsporte







Jeg har ikke svaret på problemet, men jeg tror jeg forstår hvad du mener, så jeg vil lige prøve at udtrykke det på en anden måde.

Som jeg forstår det, så har du på din admin del en form hvor du har et <textarea>, hvor du kan skrive beskrivelsen af varen.

Når du så skriver noget tekst i dette <textarea>, så vil du have at når du laver et linjeskift, altså med enter, så skal den automatisk indsætte et linjeskift i outputtet. Altså f.eks. hvis du trykker enter så kunne den automatisk sætte et <br> ind det sted i koden.

Sådan forstår jeg det, men jeg er ikke sikker på, at der er nogen nem løsning på det, for jeg har selv ledt efter dette! :)



Indlæg senest redigeret d. 17.03.2012 18:53 af Bruger #16767
Har du kigget på mit svar?

Jeg siger jo at når du laver linjeskift i dit textarea, indsættes \n eller \r (kan ikke helt huske det), og når du så henter data ud af databasen, skal du bare replace disse med <br />, ved hjælp af Replace metoden (går ud fra at du benytter ASP.NET). Der er da ingen grund til at gøre et større nummer ud af det



Ja, løsningen er som Martin siger, at erstatte et linjeskift med <br>. Grunden til at linjeskift ikke vises direkte er at linjeskift i HTML-kode kun gør koden kønnere, det påvirker ikke selve siden.

Så når du gemmer indholdet af textarea i databasen, benytter du REPLACE til at erstatte et linjeskift med <br> i databasen, så alle linjeskift gemmes som <br> i databasen. Det betyder at når indholdet fra databasen indlæses på siden kommer der reelle linjeskift.
Så skal du også benytte REPLACE når du indlæser indholdet af databasen i textarea, således at du erstatter <br> med et linjeskift (så der ikke kommer til at stå <br> i din admindel.

I PHP:

Konverter <br> til linjeskift:
$out = str_replace( "<br>", "\n", $input );

Konverter linjeskift til <br>:
$out = str_replace( "\n", "<br>", $input );

I ASP.NET:

Konverter <br> til linjeskift:
out = replace(textareaname, "<br>", vbCrLf)

Konverter linjeskift til <br>:
out = replace(textareaname, vbCrLf, "<br>")



Mit bud dr du kunne jo bruge nl2br ;)

Fold kodeboks ind/udPHP kode 




Mit bud dr du kunne jo bruge nl2br ;)

Fold kodeboks ind/udPHP kode 
Går ud fra at han bruger .NET, da han har tagget 'net' i tråden, men det er bare et bud :D



<< < 12 > >>
t