Avatar billede flodhesten Nybegynder
10. august 2007 - 21:42 Der er 11 kommentarer og
1 løsning

Lang tekst ødelægger designet

Hej eksperter.

Jeg har et lille mailsystem på min hjemmeside.

Problemet er, at hvis man laver en besked der ser sådan her ud:

wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

... ødelægger den mit design.

Er der ikke en måde man kan splitte det op i asp (eller anden måde), således at jeg ikke skal til at gå over i iframes, textarea eller andet dumt?

På forhånd tak.
Avatar billede w13 Novice
10. august 2007 - 21:48 #1
du kan lægge den i en <div style="overflow:auto"> eller <div style="word-wrap:break-word;">
Avatar billede nielle Nybegynder
10. august 2007 - 21:52 #2
1) Du kan simpelthen lave dit system sådan at det afviser den slags poster ... hvorfor skulle du tillade folk at lave den slags hærværk mod dit site?

2) overflow: auto som w13 beskriver er også et godt bud.
Avatar billede flodhesten Nybegynder
10. august 2007 - 22:29 #3
Tak w13.

Nielle, har du eksempel på hvordan det kan gøres? Det kan tænkes at man skriver en lang www adresse, og det er jo ikke sikkert at den skal afvises.
Avatar billede flodhesten Nybegynder
10. august 2007 - 22:38 #4
Hmm... Jeg ved ikke om man kan gøre noget forkert, men jeg kan nu ikke rigtiv få hverken <div style="overflow:auto;"> eller <div style="word-wrap:break-word;"> til at virke.

Er det ikke sådan her: <div style="overflow:auto;">wdfnasfajdsknjdj</div>

?

Den ødelægger stadigvæk mit design :(
Avatar billede w13 Novice
10. august 2007 - 22:40 #5
Hvis du på en eller anden vis fjerner alle links i teksten, så kan du måske sætte koden til at tjekke, hvor mange mellemrum der er. Så kan du dividere len(tekst) , dvs. antallet af tegn i teksten, med antallet af mellemrum. Hvis resultatet er under eks. 10, så er der for få mellemrum.
Avatar billede w13 Novice
10. august 2007 - 22:40 #6
Ja, men du skal også være sikker på, at den ved, hvor lang den må være. Prøv at sætte en width på den.
Avatar billede flodhesten Nybegynder
10. august 2007 - 22:45 #7
Ja det er egentligt logisk nok, men jeg undrer mig lidt over, at jeg får vist en grimt vandret scrollbar når jeg benytter <div style="overflow:auto; width: 100">wwwwwwwwwwwwwwwwwwwwwwwwww</div>

Er det meningen?
Avatar billede w13 Novice
10. august 2007 - 22:48 #8
Ja. Den sætter scrollbar på, hvis dit indhold absolut insisterer på at være for langt. Ligesom i eksemplet ovenover.

http://www.quirksmode.org/css/overflow.html
Avatar billede flodhesten Nybegynder
10. august 2007 - 22:52 #9
Arh, der var den :-)

Tak for hjælpen.

Post et svar begge :)
Avatar billede flodhesten Nybegynder
10. august 2007 - 22:55 #10
Eller kun dig, w13 :P
Avatar billede w13 Novice
10. august 2007 - 23:02 #11
:P
Avatar billede nielle Nybegynder
10. august 2007 - 23:06 #12
Du spurgte hvordan man tjekker om der er et meget lang ord i det postede. Det kan f.eks. gøres sådan her:

Dim oRegExp, sStr
sStr = "Noget tekst med et meeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeget langt ord"
Set oRegExp = New RegExp

With oRegExp
    .Pattern = "\w{20,}"
    .Global = True
End With

If oRegExp.Test(sStr) Then
    ' Afvis posten
Else
    ' Posten er (muligvis) ok.
End If

Set oRegExp = Nothing
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
Kurser inden for grundlæggende programmering

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