---
title: "Korta ner informartion"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/114565-korta-ner-informartion"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "devotion"
published: "2004-10-27T19:29:55.000Z"
updated: "2005-10-23T09:53:20.000Z"
replies: 21
views: 1148
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/114565-korta-ner-informartion"
---

# Korta ner informartion

_Sida 1 av 2._

## #1 — devotion, 2004-10-27T19:29Z

Hej!
När jag hämtar data från databasen vill jag att det ska rymmas i en cell i tabellen och endast vara en rad.

Ex

Installation av central i ga...

Dvs blir texten längre än säg 30 tecken så avslutas den med tre punkter (...)

Har testat följande kod som fungerar på många tecken. Men när databasen bara innhåller ett  ord blir ju resultatet så här:

Felsökning...

I det senare fallet ryms hela texten i cellen och de tre punkterna ska inte skrivas ut.

Nu skrivs ju punkterna ut för att jag har angett det i html-koden, men finns det något annat sätt att lösa det på så punkterna inte kommer med vid korta texter?

```
<%=Left((visaUppdrag.Fields.Item("Task").Value), 25)%>...
```

Mvh

Permalänk: https://www.webforum.nu/p/114565

## #2 — magnusfernstrom, 2004-10-27T19:32Z

Kan du inte kolla om ordet innehåller mer än 25 bokstäver med en If-sats då?

Permalänk: https://www.webforum.nu/p/1469371

## #3 — Denkan, 2004-10-27T19:33Z

```
<%
	Private Function max_l(txt,l)
	Dim str
	str = txt

	If Len(str) > l Then
	max_l = Left(str,l)& "..."
	Else
	max_l = str
	End If
	End Function

	Response.Write(max_l(visaUppdrag.Fields.Item("Task").Value), 25))
%>
```

Permalänk: https://www.webforum.nu/p/1469372

## #4 — ConnyFox, 2004-10-27T19:36Z

Här har du en funktion som du hugger av mellan ord istället för mitt i ifall det passar dig bättre.
Inga punkter men det kan du säkert enkelt modifiera.

Instring är texten du vill korta ner och incount är max antal tecken.

function formatLongText(inString,inCount)

if len(InString) \> inCount and not inCount = 0 then
LongString = InString
InString = Left(InString, inCount) 
if not Replace(InString," ","") = InString then
iLastSpace = InStrRev(InString, " ")
InString = Left(InString, iLastSpace-1)
end if
inString = inString & chr(133)
end if

inString = replace(inString,chr(34),chr(148))
inString = replace(inString,chr(39),chr(146))
formatLongText = inString
end function

Permalänk: https://www.webforum.nu/p/1469375

## #5 — devotion, 2004-10-29T16:39Z

Hej igen!

Tycker att Denkans kod verkar smidig. MEN får följande felmeddelande:

```
Teknisk information (för supportpersonal)

Feltyp:
Kompileringsfel i Microsoft VBScript (0x800A03EA)
Syntaxfel
/visaUppdrag.asp, line 189, column 8
Private Function max_l(txt,l)
-------^

Webbläsare:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) 

Sida:
GET /visaUppdrag.asp 

Tid:
den 29 oktober 2004, 18:46:33 

Mer information:
Microsoft Support
```

Vad är det som är fel???

Mvh

Permalänk: https://www.webforum.nu/p/1473340

## #6 — Denkan, 2004-10-29T19:14Z

Märkligt...
Aja, då struntar vi att sätta den som Private.

```
<%
	Function max_l(txt,l)
	Dim str
	str = txt

	If Len(str) > l Then
	max_l = Left(str,l)& "..."
	Else
	max_l = str
	End If
	End Function

	Response.Write(max_l(visaUppdrag.Fields.Item("Task").Value), 25))
%>
```

Enjoy!

Permalänk: https://www.webforum.nu/p/1473384

## #7 — devotion, 2004-10-30T12:54Z

Nu fick jag detta felet....

```
Teknisk information (för supportpersonal)

Feltyp:
Kompileringsfel i Microsoft VBScript (0x800A03EA)
Syntaxfel
/visaUppdrag.asp, line 189
Function max_l(txt,l)

Webbläsare:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) 

Sida:
GET /visaUppdrag.asp 

Tid:
den 30 oktober 2004, 08:58:08 

Mer information:
Microsoft Support
```

Mvh

Permalänk: https://www.webforum.nu/p/1473530

## #8 — devotion, 2004-11-26T16:56Z

Tar upp denna tråden igen...

Några bra ideér??

Mvh

Permalänk: https://www.webforum.nu/p/1492935

## #9 — cyprys, 2004-11-26T17:00Z

Om det enda felet som finns kvar är det två inlägg upp så beror det på en höger-parantes för mycket.

```
Response.Write(max_l(visaUppdrag.Fields.Item("Task").Value, 25))
```

Permalänk: https://www.webforum.nu/p/1492940

## #10 — devotion, 2004-11-26T17:13Z

Var det bara parantesproble....??

Hmmm :OO 

....får kolla det...

Mvh

Permalänk: https://www.webforum.nu/p/1492946

## #11 — devotion, 2004-12-30T16:29Z

Hej!
Har inte lyckats lösa detta problem....

Tycker Denkans förslag med en function verkar bra men får det inte att fungera...

Någon som vet hur man ska göra??

Mvh

Permalänk: https://www.webforum.nu/p/1516138

## #12 — WebbisNet, 2004-12-30T20:23Z

så här är min som funkar:

```
<%
novellText = rs("novellText") 

If Len(novellText) > 50 Then
    Response.Write Left(novellText, 50) & "..."
Else
    Response.Write novellText
End If
%>
```

Permalänk: https://www.webforum.nu/p/1516219

## #13 — devotion, 2004-12-30T21:26Z

Tack för det...  :) 

Mvh

Permalänk: https://www.webforum.nu/p/1516245

## #14 — MickeA.com, 2005-10-23T08:40Z

> **ConnyFox skrev:**
>
> Här har du en funktion som du hugger av mellan ord istället för mitt i ifall det passar dig bättre.
> Inga punkter men det kan du säkert enkelt modifiera.
> 
> Instring är texten du vill korta ner och incount är max antal tecken.
> 
> function formatLongText(inString,inCount)
> 
> if len(InString) \> inCount and not inCount = 0 then
> LongString = InString
> InString = Left(InString, inCount) 
> if not Replace(InString," ","") = InString then
> iLastSpace = InStrRev(InString, " ")
> InString = Left(InString, iLastSpace-1)
> end if
> inString = inString & chr(133)
> end if
> 
> inString = replace(inString,chr(34),chr(148))
> inString = replace(inString,chr(39),chr(146))
> formatLongText = inString
> end function

Jag använder detta script för att korta ner text, fast det måste vara någon annan variant av samma script, för jag får tre punkter eter texten som kortats av.

Problemet är att validatorn inte tycker om det, sidan "går aldrig igenom" då.
Vad ska man göra för att få sidan godkänd men samtidigt ha kvar de här punkterna?

Tack!

Permalänk: https://www.webforum.nu/p/1690925

## #15 — @nders, 2005-10-23T08:50Z

Validatorn?

Permalänk: https://www.webforum.nu/p/1690928

## #16 — MickeA.com, 2005-10-23T09:14Z

> **@nders skrev:**
>
> Validatorn?

Ja, W3's Validator när jag validerar sidan i XHTML 1.0

Permalänk: https://www.webforum.nu/p/1690938

## #17 — @nders, 2005-10-23T09:22Z

Alltså. Validatorn bryr sig ju inte om innehållet på sidan, utan bara koden. 

Det måste vara något annat fel, exempelvis att funktionen bryter av någon tagg eller så. Det skulle ju vara betydligt enklare att ta reda på om du visade funktionen och länk till sidan. Gissa är aldrig lätt.

Permalänk: https://www.webforum.nu/p/1690942

## #18 — MickeA.com, 2005-10-23T09:29Z

> **@nders skrev:**
>
> Alltså. Validatorn bryr sig ju inte om innehållet på sidan, utan bara koden.

> **w3 skrev:**
>
> You have used an illegal character in your text...

Bör alltså ha med någon metatagg att göra, för den nämner UFT-8 i felbeskrivningen.

Dom här metataggarna har jag bla. med:

```
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Language" content="sv" />
```

<http://validator.w3.org/check?uri=http%3A%2F%2Fmickea.gotdns.org%2Fwebkungen2%2Fdefault.asp%3FmP%3Dforum&charset=%28detect+automatically%29&doctype=Inline&ss=1#line-181>

Permalänk: https://www.webforum.nu/p/1690945

## #19 — @nders, 2005-10-23T09:32Z

Punkter kan väl knappast vara *illegal characters*???
Däremot står på rad 181 en konstig fyrkant, kan inte den vara boven?

Permalänk: https://www.webforum.nu/p/1690947

## #20 — MickeA.com, 2005-10-23T09:44Z

> **@nders skrev:**
>
> Punkter kan väl knappast vara *illegal characters*???
> Däremot står på rad 181 en konstig fyrkant, kan inte den vara boven?

Men fyrkanten **ÄR** punterna. Det som är "..." när sidan visas i webläsaren blir den här fyrkanten när sidan valideras och därmed boven.

Här är "min" version av den här funktionen "formatLongText()":

```
Function flt(inString,inCount)
	If inString <> "" Then
		If Len(InString) > inCount And Not inCount = 0 Then
			LongString = InString
			InString = Left(InString, inCount) 
		If Not Replace(InString," ","") = InString Then
			iLastSpace = InStrRev(InString, " ")
			InString = Left(InString, iLastSpace-1)
		End if
			inString = inString & Chr(133)
		End If
			inString = Replace(inString,Chr(34),Chr(148))
			inString = Replace(inString,Chr(39),Chr(146))
	Else
		inString = "&nbsp;"
	End If
		flt = inString
End Function
```

Använder jag inte funktionen får jag inget fel, alltså **måste** det vara punkterna som ställer till det?

Permalänk: https://www.webforum.nu/p/1690950

---

Tråden på webben: https://www.webforum.nu/amne/asp/114565-korta-ner-informartion  
Nästa sida: https://www.webforum.nu/amne/asp/114565-korta-ner-informartion/page2.md
