Avatar billede mathiasiversen Nybegynder
05. november 2001 - 18:07 Der er 14 kommentarer og
3 løsninger

styring af antal tegn i en streng!

Hvordan kan jeg styrer antal tegn i en streng? Eksempelvis vil jeg gerne kunne vise et uddrag af hver tekst og hvis læseren er interesseret kan han vbælge at se hele teksten. Altså skal jeg kunne sige - vis de første hundrede tegn eller lign.
Avatar billede netsrac Praktikant
05. november 2001 - 18:08 #1
Response.write(Left(tekst, 100))
Avatar billede eagleeye Praktikant
05. november 2001 - 18:13 #2
<%
Function CutString (YouString, intCut)
if len(YouString) > intCut then
  posstart=instr (intCut, YouString, \" \")
  if (posstart <> 0) then
    CutString = Left(YouString, posstart) & \"...\"
    Exit Function
  end if
end if
CutString = YouString
End function
%>

<%
Function CutString (YouString, intCut)
if len(YouString) > intCut then
  posstart = InStrRev(YourString, \" \", intCut)
  if (posstart <> 0) then
    CutString = Left(YouString, posstart) & \"...\"
    Exit Function
  end if
end if
CutString = YouString
End function
%>

lige et eks:

YouString = \"En tekst som bliver klippet\"
intStr = 15  (l i bliver)
Første function giver : En tekst som bliver...
Anden function giver : En tekst som...
Avatar billede mathiasiversen Nybegynder
05. november 2001 - 18:14 #3
hvad så hvis jeg vil vise de næste hundrede i strengen og kan jeg starte med at tælle antal tegn.
Avatar billede eagleeye Praktikant
05. november 2001 - 18:18 #4
Hvordan vælger man at se hele teksten er det et link?
Avatar billede fidusen Nybegynder
05. november 2001 - 18:24 #5
<A href=\"side.asp\"><%= CutString %></A>
Avatar billede mathiasiversen Nybegynder
05. november 2001 - 18:26 #6
det er bare en underside hvor jeg henter en tekst fra en database og siger response.write rs(\"tekst\").

jeg kan ikke få din funktion til at virke! Hvad er intStr i funktionen? mener du intcut eller instr?
Avatar billede fidusen Nybegynder
05. november 2001 - 18:27 #7
<A href=\"side.asp\"><%= CutString(\"En tekst som bliver klippet\",15) %></A>
Er det bare dette?
Avatar billede eagleeye Praktikant
05. november 2001 - 18:27 #8
intCut er hvor mange karakter som skal vises.

response.write CutString(rs(\"tekst\"), 100)

Avatar billede mathiasiversen Nybegynder
05. november 2001 - 18:32 #9
den vil ikke virke - hvis jeg f.eks bare skriver dette:
response.write CutString(rs(\"broedtekst\"),100)
så skriver den at typerne ikke stemmer overens!
Avatar billede mathiasiversen Nybegynder
05. november 2001 - 18:38 #10
jeg mener:

Function CutString (YouString, intCut)
if len(YouString) > intCut then
  posstart = InStrRev(YourString, \" \", intCut)
  if (posstart <> 0) then
    CutString = Left(YouString, posstart) & \"...\"
    Exit Function
  end if
end if
CutString = YouString
End function

response.write CutString(rs(\"broedtekst\"), 200)
Avatar billede mathiasiversen Nybegynder
05. november 2001 - 18:39 #11
hvad gør jeg galt? den kommer ikke med nogen fejlmeddelse
Avatar billede fidusen Nybegynder
05. november 2001 - 18:44 #12
Den første virker fint for mig:

<%
Function CutString (YouString, intCut)
if len(YouString) > intCut then
  posstart=instr (intCut, YouString, \" \")
  if (posstart <> 0) then
    CutString = Left(YouString, posstart) & \"...\"
    Exit Function
  end if
end if
CutString = YouString
End function
%>

<%= CutString(\"En tekst som bliver klippet\",15) %>

Husk ikke at have Option Explicit på.
Avatar billede mathiasiversen Nybegynder
05. november 2001 - 18:51 #13
ok, problemet var at den ikke kunne tage dette:
CutString(rs(\"tekst\"),100)
så jeg gjorde sådan istedet:
tekst = rs(\"broedtekst\")
CutString(tekst,100)%>

Iøvrigt: Kan man gøre dette så det er linier istedet for tegn?
Avatar billede eagleeye Praktikant
05. november 2001 - 18:55 #14
den anden function skal være og ikke som jeg skrev første gang:

<%
Function CutString (YouString, intCut)
if len(YouString) > intCut then
  posstart = InStrRev(YouString, \" \", intCut)
  if (posstart <> 0) then
    CutString = Left(YouString, posstart) & \"...\"
    Exit Function
  end if
end if
CutString = YouString
End function
%>
Avatar billede mathiasiversen Nybegynder
17. november 2001 - 12:40 #15
hvordan kan jeg læse de udskrive midterteksten, dvs. fra tegn 100 til tegn 200?
Avatar billede mathiasiversen Nybegynder
05. december 2001 - 13:17 #16
Hvordan kan jeg få vist fra tegn 100 til tegn 200?
Avatar billede eagleeye Praktikant
14. april 2002 - 13:53 #17
den lette løsning er:
dinStr = mid(dinStr,100,(200-100))

Eller sådan noget:

Function CutString (YouString, intStart, intCut)
if len(YouString) > intCut then
  if len(YouString) > intStart then
    if intStart > 1 then
      posstart = InStr(intStart,YouString," ")
    else
      posstart = 1
    end if
    posslut = InStrRev(YouString, " ", intCut)
    if (posslut > posstart) then
      CutString = Mid(YouString, posstart, (posslut-posstart)) & "..."
      Exit Function
    end if
  end if
end if
CutString = YouString
End function

response.write CutString(dinStr,100,200)
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