---
title: "Bryta sträng och ord!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/133096-bryta-sträng-och-ord"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "paddan"
published: "2005-08-22T08:42:56.000Z"
updated: "2005-08-24T18:22:34.000Z"
replies: 16
views: 622
page: 1
pages: 1
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/133096-bryta-sträng-och-ord"
---

# Bryta sträng och ord!

## #1 — paddan, 2005-08-22T08:42Z

Hej!
Jag har en gästbok där jag vill att strängen ska kapas efter 30 tecken eller efter närmaste hela ord. 
Koden nedanför gör detta! Men jag vill att resten av strängen ska skrivas ut under. 
använder jag mig utav right functionen så blir det det bara bra om den avklippta strängen är precis 30 tecken. 

```
			
 <% 			
function korta(myString,myLenght) 
If not Len(myString) >= myLenght Then 
Response.write myString 
else 
antal = myLenght 
keyWords = split(myString," ") 
longString = 0 
For Each Word in keyWords 
longWord = Len(word) 
longString = cint(longString + longWord) 
if longString >= antal then 
Response.Write Word & "..." 
Exit For 
else 
Response.Write Word & " " 
end if 
Next 
End if 
End function 
				
%>

<%
med = Recset("med") 
Response.write korta(med,30) 
%>
```

 

Några förslag?
Mvh Martin

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

## #2 — Erik Juhlin, 2005-08-22T08:53Z

Vänligen indentera din kod. Den koden är oläsbar.

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

## #3 — J.N., 2005-08-22T08:54Z

HEJ!

Använd Mid() för att börja att skriva ut i en sträng.
<http://www.devguru.com/technologies/vbscript/13951.asp>
Varför har Devguru ändrat sina länkar?

Du löser problemet med var du ska börja genom att spara undan den positionen i en variabel.

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

## #4 — paddan, 2005-08-22T08:57Z

oki...men var hittar jag den posistionen i functionen??

Mvh Martin

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

## #5 — LarsG, 2005-08-22T10:40Z

Kan du exemplifiera hur du vill att det skall se ut! Skall det bli mer än två rader om det är mer än 60 tecken?

Sen så bör du inte använda response.write i en funktion. En funktion skall enbart returnera ett värde och inte ha några sidoeffekter.

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

## #6 — paddan, 2005-08-22T12:49Z

Hej!
Oki...fixat det där med att inte ha response.write i functionen...
Men såhär ska det vara:
Man skriver ett meddelande, då ska dem första tex 20 tecknen bli rubrik, \<h1\>  Då vill jag att den ska kapa efter 20 tecken eller närmaste hela ord. Sen vill jag att resten av texten ska skrivas ut i en \<p\> tagg. 

Mvh Martin

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

## #7 — LarsG, 2005-08-22T13:01Z

```
sub korta(myString,myLenght) 
   dim s,k,i,r
   k = split(myString," ") 
   s = ""
   r = false
   For each w in k
        if  len(s) >= myLength and not r then 
           response.write "<h1>" & s & "</h1>" 
           s = "" 
           r = true
       end if
       if len(s) > 0 then s = s & " "
       s = s & w
   Next
   if len(s) > 0 then response.write "<p>" & s  & "</p>"
End sub
```

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

## #8 — emission, 2005-08-22T22:05Z

OBS! Liten felstavning av ett argument ovan.

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

## #9 — paddan, 2005-08-23T05:03Z

vilket argument...!????

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

## #10 — @nders, 2005-08-23T05:50Z

Ett är rättstavat, det andra är felstavat:

```
sub korta(myString,myLenght)
```

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

## #11 — paddan, 2005-08-24T13:04Z

Så här långt har jag kommit:

```
	
sub korta(myString,myLenght) 
dim s,k,r,w
k = split(myString," ") 
s = ""
r = false
For each w in k
if  len(s) >= myLenght and not r then 	
response.write "<h1>" & s & "</h1>" 
s = "" 
r = true
end if
if len(s) > 0 then s = s & " "
s = s & w

Next
if len(s) > 0 then response.write "<p>" & s  & "</p>"
End sub

<%
med = Recset("med")
response.write korta(med,30)
%>
```

 

Felmeddelande:
Type mismatch: 'korta' 
Och det pekar på koden med med repsone.write kort(med,30)

Vad kan vara felet??

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

## #12 — emission, 2005-08-24T13:08Z

"korta" är en sub, inte en function

Byt 

response.write korta(med,30) 

till

korta med,30

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

## #13 — @nders, 2005-08-24T13:10Z

1) Du hade gärna fått välja den korrekta stavningen, *myLength*. 
2) Indentera koden. <http://www.webforum.nu/showthread.php?s=&postid=1080452#post1080452>
3) En sub returnerar ingenting, därför kan du inte skriva ut i anropet.

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

## #14 — Engine^, 2005-08-24T13:31Z

```
sub korta(myString,myLength) 
  dim s,k,r,w

  k = split(myString," ") 
  s = ""
  r = false

  For each w in k
    if  len(s) >= myLength and not r then 	
      response.write "<h1>" & s & "</h1>" 
      s = "" 
      r = true
    end if

    if len(s) > 0 then s = s & " "
    s = s & w
  Next

  if len(s) > 0 then response.write "<p>" & s  & "</p>"
End sub

<%
call korta( Recset( "med" ), 30 )
%>
```

**red.**
Jag skyller på att jag fick telefon under tiden. :OO

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

## #15 — Erik Juhlin, 2005-08-24T13:49Z

Engine^: Du missade både 1:an och 3:an.
Sen så skulle jag rekommendera riktiga tabbar. Har man en vettig edtior så kan man där bestämma hur många tecken en tab ska motsvara. :)

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

## #16 — Engine^, 2005-08-24T14:03Z

> **Erik Juhlin skrev:**
>
> Engine^: Du missade både 1:an och 3:an.
> Sen så skulle jag rekommendera riktiga tabbar. Har man en vettig edtior så kan man där bestämma hur många tecken en tab ska motsvara. :)

Aningen förvirrad idag igen. Redigerade till det.

Somliga ställer in sin editor att använda tab-tecken för indentering istället för mellanslag.

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

## #17 — paddan, 2005-08-24T18:22Z

Tack så hemskt mycket för all hjälp...jag har faktiskt lärt mig en hel del på detta...!

Mvh Martin!

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/133096-bryta-sträng-och-ord
