Avatar billede qqq Nybegynder
19. december 2001 - 03:46 Der er 4 kommentarer og
1 løsning

Opdeling af ord længere end xx karakterer

Hej med jer ASP eksperter.

Jeg søger noget kode til at opdele ord med mere end 25 karakterer i flere ord. Jeg tænkte at det skulle være sådan at hvis et ord er længere end 25 tegn, så sættes der et mellemrum ind efter tegn nr. 25.

Teksten hvori der er ord der skal opdeles, hvis de er for lange henter jeg fra en formular og ligger i en variabel.

Et stykke kode der virker, giver 75 point. Hvis der skal lidt flere point til, må vi tage det op :-)

Håber der er nogen der kan klare denne.
Avatar billede qqq Nybegynder
19. december 2001 - 06:28 #1
Fandt lige dette kode som er bikset sammen af netsrac i et andet spørgsmål. Det er meget tæt på det jeg skal bruge, dog skal jeg ikke udskrive den redigere tekst, men have den smidt i en variabel, så jeg igen kan smide det i db\'en.

Nogen der kan klare dette?

<%
tekst = \"as as as as heeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeej fdfd df df\"
max = 30
tekstArr = Split(tekst, \" \")
For i = 0 to Ubound(tekstArr)
  If Len(tekstArr(i)) > max Then
      Counter = 1
      Do while (counter) < Len(tekstArr(i))
          Response.write(mid(tekstArr(i), counter, max) & \"<BR>\")
      counter = counter + max
      Loop
  Else
      Response.write(tekstArr(i) & \" \")
  End if
Next
%>
Avatar billede sparkl Nybegynder
19. december 2001 - 11:03 #2
Her gemmes det hele i stringen resultat som til sidst udskrives:

<%
resultat = \"\"
tekst = \"as as as as heeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeej fdfd df df\"
max = 30
tekstArr = Split(tekst, \" \")
For i = 0 to Ubound(tekstArr)
  If Len(tekstArr(i)) > max Then
      Counter = 1
      Do while (counter) < Len(tekstArr(i))
          resultat = resultat & (mid(tekstArr(i), counter, max) & \"<BR>\")
      counter = counter + max
      Loop
  Else
      resultat = resultat & (tekstArr(i) & \" \")
  End if
Next
Response.write resultat
%>
Avatar billede sparkl Nybegynder
19. december 2001 - 11:15 #3
Hvis du vil have at den indsætter et mellemrum i stedet for at lave et linieskift så udskrift \"<BR>\" med \" \"
Avatar billede sparkl Nybegynder
19. december 2001 - 11:20 #4
Det der sker er at den laver tekststringen om til et array ved at splitte den op ved hvert mellemrum.

Så løber den arrayet igennem og lægger hver post, + et mellemrum, i enden af stringen \"resultat\" med den undtagelse at hvis posten er længere en 30 tegn så splittes teksten op i mindre dele af 30 tegn før den ligges til \"resultat\"
Avatar billede qqq Nybegynder
19. december 2001 - 23:15 #5
Mange tak for det og den gode forklaring :-)
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