Avatar billede Slettet bruger
17. marts 2003 - 17:45 Der er 7 kommentarer og
2 løsninger

Indsætte breaks i streng

hej - jeg har en tekst der løber ud i et. Som eksempel kan ses dagens vejrudsigt:

Mandag den 17. marts 2003. Regionaludsigter, der gælder til tirsdag eftermiddag, udsendt kl. 17.30. Nordjylland: I aften og i nat mest klart vejr, men i den vestlige del måske mere skyet. Temp. falder til mellem 0 og 5 grader, og vinden bliver svag mellem vest og nord. Tirsdag tørt vejr og nogen sol, men først på dagen især i den vestlige del noget mere skyet. Temp. mellem 7 og 12 grader, og svag til jævn vestlig vind.

Det jeg ønsker er at kunne sætte breaks (<br>) ind på specifikke steder i teksten - ift. teksten ovenfor kunne det eks. være som følger:

Mandag den 17. marts 2003.

Regionaludsigter, der gælder til tirsdag eftermiddag, udsendt kl. 17.30.

Nordjylland: I aften og i nat mest klart vejr, men i den vestlige del måske mere skyet. Temp. falder til mellem 0 og 5 grader, og vinden bliver svag mellem vest og nord. Tirsdag tørt vejr og nogen sol, men først på dagen især i den vestlige del noget mere skyet. Temp. mellem 7 og 12 grader, og svag til jævn vestlig vind.

I eksemplet ovenfor skal der altså indsættes breaks umiddelbart foran "Regionaludsigter" og "Nordjylland".

Som sagt står teksten ud i en lang køre i min variabel:
<%=strNewResult%>
Avatar billede Spotgun Seniormester
17. marts 2003 - 17:48 #1
hvor henter du teksten fra? Og er den delt med line-breaks i forvejen på en eller anden facon?

Normalt når man henter noget fra en database, som er blevet indsat via et textarea, så gør man sådan her, for at genskabe de linebreaks der originalt blev lavet:

<%= replace(strNewResult, vbcrlf, "<br>") %>
Avatar billede Slettet bruger
17. marts 2003 - 17:50 #2
ja det ved jeg godt - men der er ingen breaks i tekst strengen - dem ønsker jeg selv at indsætte på de rigtige steder.
Avatar billede Spotgun Seniormester
17. marts 2003 - 17:53 #3
Så må du jo manuelt ind og redigere teksten, inden du enten propper den i din database, eller skriver den ud.

Hvis det er dig selv der indsætter teksten, kan du jo evt. putte et eller andet specielt tegn ind i teksten, som du senere erstatter med et <br>. Hvis du ikke har nogen form for indflydelse på "input-teksten" overhovedet, så bliver det meget svært at få ASP til automatisk at lave linieskift præcis de steder du har lyst til (medmindre da det er nøjagtigt samme sted hver gang - dvs. efter samme antal bogstaver osv.) :-)
Avatar billede Slettet bruger
17. marts 2003 - 17:56 #4
har ikke nogen indflydelse på selve teksten (skriver den ikke) - men breaket skal netop sættes ind samme sted hver gang - som ved eksemplet ovenfor umiddelbart foran - og kun altså på de to steder - "Regionaludsigter" og "Nordjylland".
Avatar billede Spotgun Seniormester
17. marts 2003 - 17:57 #5
Hmm - okay, så kan vi måske lave noget, hvis det da ALTID er de to ord, breaket skal indsættes foran. Jeg koger lige et eller andet op!
Avatar billede acidduck Nybegynder
17. marts 2003 - 18:08 #6
Du kan gøre det sådan her:

navn = "Skillerummet skal være her: ja det skal"
break = InStr(navn, "ja")
del1 = mid(navn,1,break-1)
del2 = mid(navn,break)

resultat = del1 & "<br>" & del2
Avatar billede Spotgun Seniormester
17. marts 2003 - 18:09 #7
Prøv det her eksempel:

<%
test = "Mandag den 17. marts 2003. Regionaludsigter, der gælder til tirsdag eftermiddag, udsendt kl. 17.30. Nordjylland: I

aften og i nat mest klart vejr, men i den vestlige del måske mere skyet. Temp. falder til mellem 0 og 5 grader, og vinden

bliver svag mellem vest og nord. Tirsdag tørt vejr og nogen sol, men først på dagen især i den vestlige del noget mere skyet.

Temp. mellem 7 og 12 grader, og svag til jævn vestlig vind."

Function lavBreak(tekst)
  temp = split(tekst, "Regionaludsigter, ")
  done = temp(0) & "<br><br>Regionaludsigter, "& temp(1)
  temp = split(done, "Nordjylland: ")
  lavBreak = temp(0) & "<br><br>Nordjylland: "& temp(1)
End Function

Response.Write test & "<hr>"
Response.Write lavBreak(test)
%>

Det forudsætter selvfølgelig at det ALTID er før "Regionaludsigter, " og "Nordjylland: " at dine breaks skal indsættes!
Avatar billede Slettet bruger
17. marts 2003 - 18:20 #8
Begge virker fint faktisk - I kan deles lidt om pointene - tak for hjælpen...
Avatar billede Spotgun Seniormester
17. marts 2003 - 18:21 #9
Du kan også lave den sådan her, så kan den da genbruges ved andre tekster :-)

Function lavBreak(tekst, ord)
  temp = split(tekst, ord)
  If ubound(temp) > 0 And ubound(temp) < 2 Then
    lavBreak = temp(0) & "<br><br>"& ord & temp(1)
  Else
    lavBreak = temp
  End If
End Function

Response.Write test lavBreak(lavBreak(test, "Regionaludsigter"), "Nordjylland")
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