---
title: "Räkna tecken+html"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/162165-räkna-tecken-html"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "UrMe"
published: "2007-07-03T12:09:20.000Z"
updated: "2007-07-04T11:02:39.000Z"
replies: 14
views: 647
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/162165-räkna-tecken-html"
---

# Räkna tecken+html

## #1 — UrMe, 2007-07-03T12:09Z

Jag har en post i en databas som ser ungefär ut så här:

```
<span class="text">saddasasddasdsa sda d asd asd</span><br /><br /><span class="text2">sad dsa asd sda asd asd asd dsa sda asd asd asd asd asd asd sa asd asd asd<br />asd asd asd das asd asd asd asd asda sda sa as asd<br />asd asd asd asd asd ads ads ad ad</span>
```

Jag är inte skyldig till hur datan sparas :)

Om det vill sig riktigt illa kan det ibland vara 3-4 \<span\> saker efter varandra utan egentlig anledning.

Det jag skulle vilja göra är att begränsa antalet tecken, t.ex: 

```
Response.Write Left(rs("text"), 50)
```

Problemet med detta är ju att den räknar tecknen i \<span\> och \<br /\> etc. Går det på något enkelt sätt att räkna bara tecken som inte finns inom "\<\>" och räkna tecken inom "\<\>".

Eftersom jag vill ju inte skriva ut 10 tecken och de 10 tecknena är bara "\<span clas"

Samtidigt vill jag inte räkna alla \<span\> \<br\> etc heller, eftersom de som är efter de 50 tecknen jag vill ha ut är ointressant.

För \<span\> måste ju ändå skrivas ut för att formatteringen ska bli rätt.

Hoppas någon förstår mitt dilemma ;)

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

## #2 — Melitta, 2007-07-03T12:46Z

Blir krångligt med den kunskap jag besitter (inte så stor).. Ta och rensa på all html först och krymp strängen sedan då?

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

## #3 — voigtann1, 2007-07-03T12:56Z

```
Function newLeft(str,length)
  With New RegExp
    .Global = True
    .Pattern = "(<[^<>]*>)"
    str = .Replace(str, "")
  End With
  newLeft = Left(str & "",length)
End Function
```

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

## #4 — Melitta, 2007-07-03T12:57Z

Typ så ja :D

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

## #5 — voigtann1, 2007-07-03T13:05Z

ändra "(\<\[^\>\]\*\>)" till "(\<\[^\<\>\]\*\>)" ;)

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

## #6 — UrMe, 2007-07-04T07:35Z

Det där fungerar ju :) Fast problemet är att jag vill ha tillbaka de html-taggar som behövs.

T.ex

Detta är min text i databasen:

```
<span class="rubrik">Min rubrik</span><br><br><span class="text">asd asd asd asd asd asd</span><br><span class="text">tjo tjo tjo tjo tjo tjo</span>
```

Om jag t.ex vill ha ut 20 tecken. Så ska det vara dessa:
"Min rubrik asd asd as"

Så långt funkar ju den funktionen, det jag vill göra nu är att lägga tillbaka html-taggarna som behövs.
"\<span class="rubrik"\>Min rubrik\</span\>\<br\>\<br\>\<span class="text"\>asd asd as"
Vill att min "output" ska se ut som ovan om man väljer 20 tecken.

sista \</span\> går ju att lägga tillbaka "manuellt".

Men hur skulle man lösa detta? Går det att lösa? :)

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

## #7 — voigtann1, 2007-07-04T08:57Z

Du ska ju inte använda den för att spara till databasen.. bara när du läser av den på den plats du vill? gör någon egen \[rubrik\]Min Rubrik\[/rubrik\] och kör en replace på det? eller lägg det i en egen tabell i databasen? Annars kan man väl göra en Count funktion ... eller bryta din text efter en \</span\> ;)

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

## #8 — voigtann1, 2007-07-04T09:45Z

```
Function newLeft(str,length)
  Dim Header, Content
  With New RegExp
    .Global = True
    .Pattern = "(<span class=""rubrik"">[^<]*</span><br><br><span class=""text"">)(.*)"
    Header = .Replace(str, "$1")
    Content= .Replace(str,"$2")
    .Pattern = "(<[^<>]*>)"
    Content = Left(.Replace(Content,""),length) & "</span>"
  End With
  newLeft = Header & Content
End Function
```

 Rätt klumpigt skrivit dock.. men fungera ;)... hoppas jag

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

## #9 — UrMe, 2007-07-04T10:17Z

Nackdelen är att du inte vet själva "pattern", inte alltid att rubrik följt av två br och sedan klassen text kommer :(

Det blir nog en väldigt knepig funktion :) Kanske får kolla på en alternativ lösning.

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

## #10 — voigtann1, 2007-07-04T10:45Z

så... du vill ta bort alla taggar förutom \<span.....\> rätt?

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

## #11 — colione, 2007-07-04T10:48Z

Nej, han vill räkna alla tecken som inte är html-kod om jag har uppfattat han rätt. Han vill alltså räkna de tecknen som besökaren på siten ser, inte tecknena som formaterar texte, dessa vill han dock ha kvar i utskriften.

Enligt min uppfattning ivf.

Edit -\>
En lösning skulle ju kunna vara att först strippa bort alla taggar och räkna tecknena, sedan räkna alla tecken i taggarna som finns innan man ska bryta. Plussa på det senare värdet till det första värdet.

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

## #12 — voigtann1, 2007-07-04T10:54Z

> **colione skrev:**
>
> Nej, han vill räkna alla tecken som inte är html-kod om jag har uppfattat han rätt. Han vill alltså räkna de tecknen som besökaren på siten ser, inte tecknena som formaterar texte, dessa vill han dock ha kvar i utskriften.

Nej.. han vill behålla vissa taggar för sitt presentations lager.. så det är inte att bara rensar all html (vilket min första kod gjorde). Han vill behålla \_vissa\_ kodsuttar i början bara dom avslutas också efter x antal tecken?

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

## #13 — colione, 2007-07-04T10:56Z

Ja? Läs mitt inlägg igen voigtann1. Det är ju det jag skriver. Han vill egentligen bara räkna tecknena som besökaren ser. Men han vill ha med html-taggarna i utskriften.

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

## #14 — UrMe, 2007-07-04T11:00Z

Ja det är precis som colione skriver, och jag vill bara printa ut de html-taggar som har något att göra med de tecknen som användaren ser. Knepigt :)

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

## #15 — voigtann1, 2007-07-04T11:02Z

Kan väl göra som colione skrev... hämta ut de första 50 tecknen som finns i databasen.. räknar ut hur många avslut det finns kontra hur många "öppningar" av taggar det finns...

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/162165-räkna-tecken-html
