/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Kort resume af lang nyhed
Fra : Nielsen


Dato : 04-07-05 13:37

Hej gruppe.

Jeg håber desperat at der er en der kan hjælpe mig.

Jeg har en Access-database, som føder en nyhedsoversigt. Nyhederne er
op til 4000 tegn, men der skal kun vises de første 200 tegn af
nyhedsteksten i nyhedsoversigten. Her kan brugeren så trykke "læs hele
nyheden" og se hele nyheden.

Jeg har set, at der er flere steder hvor dette bruges - men har ikke
lige kunne regne ud hvordan det kan gøres, så den automatisk vælger de
første 200 tegn.

Alle forslag er meget velkomne...

På forhånd tak


Morten Nielsen

 
 
Casper Bang (04-07-2005)
Kommentar
Fra : Casper Bang


Dato : 04-07-05 14:24

> Jeg har set, at der er flere steder hvor dette bruges - men har ikke
> lige kunne regne ud hvordan det kan gøres, så den automatisk vælger de
> første 200 tegn.

Hvis variablen "nyhed" indeholder nyheden, bruger du bare:
response.write left(nyhed, 200)
Simple as that :)



Christian Kragh (05-07-2005)
Kommentar
Fra : Christian Kragh


Dato : 05-07-05 17:25

> Hvis variablen "nyhed" indeholder nyheden, bruger du bare:
> response.write left(nyhed, 200)
> Simple as that :)

Der er bare to ting som er dårlige ved denne metode...

1: Der kan komme html koder med hvis dette er accepteret i nyheden.

2: Den afkorter midt i et ord...




Løsning på problem 1:

[Kode]

Function stripHTML(strHTML)
'Strips the HTML tags from strHTML

Dim objRegExp, strOutput
Set objRegExp = New Regexp

objRegExp.IgnoreCase = True
objRegExp.Global = True
objRegExp.Pattern = "<(.|\n)+?>"

'Replace all HTML tag matches with the empty string
strOutput = objRegExp.Replace(strHTML, "")

'Replace all < and > with &lt; and &gt; '' "
strOutput = Replace(strOutput, "<", "&lt;") '' "
strOutput = Replace(strOutput, ">", "&gt;")

stripHTML = strOutput '' Return
the value of strOutput

Set objRegExp = Nothing
End Function

response.write stripHTML("teksten...<br>")

[Kode slut]

Løsning på problem 2:

[Kode]

function GetTeaser(strText,iWords)
Dim strTaster
Dim iCount
strTaster = ""
iCount = 0
While (iCount < iWords)
strWord = Left(strText,Instr(strText," "))
strTaster = strTaster & " " & strWord
strText = Right(strText,Len(strText)-Len(strWord))
iCount = iCount + 1
Wend
if strTaster <> "" Then strTaster = strTaster & "..."
GetTeaser = strTaster
End function

response.write GetTeaser("Teksten som skal afkortes. Der skrives kun de
første 10 ord fra denne streng.",10)

[Kode slut]

Du bestemmer selv hvor mange ord som skal vises.

Christian

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Nielsen (05-07-2005)
Kommentar
Fra : Nielsen


Dato : 05-07-05 22:04

Spurgte om én måde... og fik hele to...

Jeg ser lige på hvilken måde, der egner sig bedst i mit tilfælde.

Men I skal have mange tak begge to.

Mange hilsner



Morten Nielsen

Søg
Reklame
Statistik
Spørgsmål : 177548
Tips : 31968
Nyheder : 719565
Indlæg : 6408799
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste