Avatar billede unsigned Nybegynder
05. maj 2002 - 15:40 Der er 6 kommentarer og
1 løsning

Linieskift forsvinder

Jeg har en vittighedsside (sjov-vittig.dk)

Når man skriver i indsender boksen ser det ud som nedenfor:

Hvad er ligheden mellem mænd og P-pladser?
Alle de gode er taget og de eneste der er tilbage er de handicappede.

Hvad er ligheden mellem en mand og en vaskemaskine?
De kan kun køre et program af gangen.

Hvorfor gifter mænd sig?
Så behøver de ikke trække maven ind mere.

Hvor mange mænd skal der bruges til at skrue en pære i?
En til at gøre det og to til at høre ham prale af det.

Hvorfor er det så svært for kvinder at finde mænd, der er følsomme, opmærksomme og ser godt ud?
Fordi disse mænd allerede har mandlige kærester.

Hvorfor køber en mand en elektrisk plæneklipper?
Fordi så er han sikker på at kunne finde tilbage til huset.

Hvad skal der til for at en mand slår toiletbrættet ned?
Ingen ved det.

Hvor mange ærlige, intelligente og følsomme mænd skal der til at orden opvasken?
Dem begge to.

Men når vittigheden er blevet gemt i databasen, ser det ud som nedenfor:

Hvad er ligheden mellem mænd og P-pladser? Alle de gode er taget og de eneste der er tilbage er de handicappede. Hvad er ligheden mellem en mand og en vaskemaskine? De kan kun køre et program af gangen. Hvorfor gifter mænd sig? Så behøver de ikke trække maven ind mere. Hvor mange mænd skal der bruges til at skrue en pære i? En til at gøre det og to til at høre ham prale af det. Hvorfor er det så svært for kvinder at finde mænd, der er følsomme, opmærksomme og ser godt ud?
Fordi disse mænd allerede har mandlige kærester. Hvorfor køber en mand en elektrisk plæneklipper?
Fordi så er han sikker på at kunne finde tilbage til huset. Hvad skal der til for at en mand slår toiletbrættet ned? Ingen ved det. Hvor mange ærlige, intelligente og følsomme mænd skal der til at orden opvasken?
Dem begge to.

Alle linieskift og blanke linier er forsvundet.

Det er et problem. Hvad skal jeg gøre ved det?
Det er overvejet at bede brugerne og at indsætte HTML-tags, men det er der kun få brugere der kan finde ud af. Desuden kan problemet løses uden brug af HTML-tags. Spørgsmålet er bare hvordan.

Venlig Hilsen
Bjarne
Avatar billede Slettet bruger
05. maj 2002 - 15:45 #1
Teksten er sikkert rigtig i databasen.

Bruger du ASP, PHP eller noget andet? Og hvilken database?

Hvis du bruger PHP oh MySQL kan du løse det ved:

$joketekst = nl2br($row[joke]);

echo $joketekst;
Avatar billede eeyore Nybegynder
05. maj 2002 - 15:49 #2
Er du sikker på, linjeskiftene er forsvundet i databasen? Det lyder måske mere sandsynligt, at problemet er, at et linjeskift i HTML ikke giver ny linje. En anden forklaring er måske, at du kun har et "\n" (newline) og ikke "\n\r", (newline+carriage-return), som windows forlanger for at se det som et linjeskift.

Under alle omstændigheder burde problemet kunne løses ved bare at erstatte "\n" med "<br>", inden du sætter ind i basen (eller efter du har trukket det ud igen). I PHP kan det gøres sådan:

$text = ereg_replace("\n","<br>",$text);

eller i perl:

$text =~ /\n/<br>/g;
Avatar billede Slettet bruger
05. maj 2002 - 15:51 #3
beskrivelse = Replace(beskrivelse, vbCrLf, "<BR>") hvis det er ASP.
05. maj 2002 - 15:52 #4
prøv et ligge den her <pre></pre>


eksempel
<pre>
Undern
linjeskift

</pre
Avatar billede jakoba Nybegynder
05. maj 2002 - 15:53 #5
send formularen med method='post' så kommer linieskift tegn med til den $feltnavn variabel php modtager.
og skift så linieskift  \n, \r, r\n, \n\r ud med <br>.

fx med:
$til_at_gemme = ereg_replace( "(\r\n?|\n\r?)", "<br>", $feltnavn );

mvh JakobA
Avatar billede unsigned Nybegynder
05. maj 2002 - 16:06 #6
Til Alle

Jeg bruger ASP og en Access database. Siden, der behandler vittigheden er angivet nedenfor (siden hedder modtag.asp):

<%@ language="vbscript" %>
<% option explicit %>
<!--#include virtual="/adovbs.inc"-->

<%
  'Erklær de variable, tegnstrengene skal ligge i
  dim overskrift
  dim indsender
  dim vittighed
  'Indlæs tegnstrengene
  overskrift = request("overskrift")
  indsender  = request("indsender")
  vittighed  = request("vittighed")

  'Opdater databasen
  dim Conn
  dim DBPath
  Set Conn = Server.CreateObject("ADODB.Connection")
  DBPath = "DBQ=" & server.mappath("/log/vittigheder.mdb")
  Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};"&DBPath


  dim obj_rs
  set obj_rs = server.createobject("adodb.recordset")
  obj_rs.open "tabel1", Conn, , adlockoptimistic, adcmdtable

  obj_rs.addnew
  obj_rs("overskrift") = overskrift
  obj_rs("indsender") = indsender
  obj_rs("dato") = date
  obj_rs("vittighed") = vittighed
  obj_rs.update
  'Ryd op i ABO objekterne
  obj_rs.close
  set obj_rs = nothing
  Conn.close
  set Conn = nothing
%>

<html>
<head>
<title>Sjov-vittig.dk</title>
</head>
<body>

<hr />
<div align="center">
<img src="images/logo001.gif" alt="Sjov og vittig logo" width="451" height="80" />
</div>
<hr />
<table width='950' units='pixel'><tr><td width="330"></td><td width="300">
Vittigheden er sendt til databasen. <br>
Den kan ses med det samme. <br>
Du har indsendt følgende:
<% 
  response.write "<br>Overskrift: " & overskrift
  response.write "<br>Indsender: " & indsender
  response.write "<br>Dato: " & date
  response.write "<br>" & vittighed
%>

</td>
<td valign="top" align="right" width="280">
Tilbage til
<a href="index.html">startsiden.</a><br />
Brug browserens <br>
tilbageknap, hvis du <br>
vil tilbage til den <br>
den side du kom fra.<br>

</td></tr></table>
</body>
</html>
Avatar billede Slettet bruger
05. maj 2002 - 16:12 #7
vittighed = Replace(vittighed, vbCrLf, "<BR>")
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