webForumDet fria alternativet

Hur sätter man in formaterad text i en databas....

Databaser & SQLur Databashanterare & SQL

7 svar · 347 visningar · startad av Tim

Medlem sedan jan. 2002115 inlägg
Frågan#1

...som liksom har radbrytningar, citattecken, osv, och sedan får ut dessa i bibehållet skick vid tillfällen när de ska visas?

Man får ju för övrigt parse error så fort man försöker lägga in text med citattecken.

Det går ju inte som ni vet att lägga in texter med radbrytningar och citattecken hur som helst.

Så hur hur formaterar man det?

Säg att jag tar en relativt lång text från ett worddokument. Nu vill jag sätta in den i databasen exakt så som den ser ut och sedan även kunna hämta och visa den på hemsidan så som den såg ut i worddokumentet.

Detta skulle var mycket intressant att få reda på, tack på förhand...

Medlem sedan feb. 20012 412 inlägg
#2

Hej, använder du ASP och mysql får du escapa apostrof ( ' ) och frågetecken ( ? ) innan du gör en insert i databasen.

Function FixaTecken(sText)
sText = Replace(Trim(sText), vbCrLf, "<br/>")
sText = replace(sText,"'"," \ ' ")
sText = replace(sText, "?" , "& # 6 3 ;")
sText = Replace(sText, "|", "")
FixaTecken = sText
End Function

PS, du får ta bort lite mellanslag som jag fick lägga dit för att inte wF skulle tolka koden som kod.

mvh Jörgen HP

Medlem sedan jan. 2002115 inlägg
#3

Jag använder PHP. Jag har fortfarande problem att sätta in texter i databasen.

Vi säger att jag har den här texten:

Christ said: "RESIST 'NOT EVIL. BUT WHOSOEVER SHALL SMITE THEE ON THY RIGHT CHEEK, TURN TO HIM THE OTHER ALSO. AND IF ANY MAN WILL SUE THEE AT THE LAW, AND TAKE AWAY THY COAT, LET HIM HAVE THY CLOAK ALSO."

Nu vill jag sätta in den i en databas.

Min tanke var att jag kunde först göra en variabel av texten och sedan utföra ändringar på den på följande sätt:

$textvariabel = str_replace(" ' "," \ ' ", $textvariabel);

osv....

en fråga: hur gör man om man vill ta bort "-tecken ur texten?

det går ju inte med str_replace(" " "," \ " ", $var);

Medlem sedan feb. 20012 412 inlägg
#4

Hej, nu är ju inte min styrka PHP än, men det borde väl bli:

$str = eregi_replace("'", " \ ' ", $str);

PS. Ta bort mina mellanslag inom sista " "

mvh Jörgen HP :)

Medlem sedan jan. 2002115 inlägg
#5

dubbla citattecken, hur fan lägger man in dom?

inte kan det väl gå med eregi_replace(" " ", " \ " ", $var)

tack.

Medlem sedan feb. 20012 412 inlägg
#6

Ënligt doccen: (utan mellanslag)

Escapesekvens          Betydelse

\ '                                Apostrof
\ "                               Citattecken
\ \                               Backslash
\ $                              Dollartecken
\ n                              Ny rad
\ r                               Radmatning
\ t                               Tabulering
Medlem sedan juni 20008 205 inlägg
#7

addslashes

Medlem sedan jan. 2002115 inlägg
#8

Jo jag kom just på det igår, utmärkt funktion.

135 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)