Hur slänger man ut 300 ord ur ett fält som innehåller tex en nyhet?
Jag vill alltså ha ut 300 ord på första sidan sen en läsmer knapp där man kan se hela nyheten. Men också att hela sista ordet ska följa med så den inte avbryter mitt i ett ord?
Jag hade gjort så här (finns kanske en bättre lösning):
Lägg in samtliga ord i en sträng.
Lägg in dem i en array genom att dela vid alla mellanslag ("").
Skriv sedan ut de tre hundra första värdena i arrayen.
Lägg till tre punkter.
Dim arrWords, x, strText
arrWords = Split(RecSet("news"), " ")
x = 0
For Each word In arrWords
strText = strText & word & " "
x = x + 1
If x = 300 Then Exit For
Next
Response.Write strText
Vet inte om detta är en Oracle lösning, men annars kan du skriva
select substr(table.field, 0, 300) as tjoho
0:an symboliserar att du startar på pos 0 och 300 att du slutar på 300... En substr(table.field, 100, 400) as tjoho ger alltså tecken 100 till 400... men som sagt, kanske oracle endast...
Dim arrWords, x, strText
arrWords = Split(RecSet("news"), " ")
x = 0
For Each word In arrWords
strText = strText & word & " "
x = x + 1
If x = 300 Then Exit For
Next
Response.Write strText
Och kör en Do Until Rs.news EOF
Så slänger den med Det första värdet i den andra posten och i den tredje posten slänger den med första och andra värdet.
TEx om jag har nyhet ett:
"Test av nyhet 1"
Sen har jag nyhet 2 som innehåller
"Test av nyhet 2"
Då blir Nyhet 2 såhär
"Test av nyhet 1 Test av nyhet 2"
och nyhet 3 blir
"Test av nyhet 1 Test av nyhet 2 Test av nyhet 3"
Jag måste alltså tömma strText varje gång den hoppar till nästa Recordset ?
381 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a