![]() |
|
|
|||||||
| ASP Diskussioner om Active Server Pages, med relaterade scriptspråk (klassisk asp). |
![]() |
|
|
Trådverktyg | Visningsalternativ |
|
|
#1 |
|
Medlem
Registrerad: 2001-04-01
Ort: Inte i skåne.
Inlägg: 796
Lösningar: 5 |
Räkna tecken+html
Jag har en post i en databas som ser ungefär ut så här:
Kod:
<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> ![]() 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: Kod:
Response.Write Left(rs("text"), 50)
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
|
|
|
|
|
|
#2 |
|
Medlem
Registrerad: 2003-09-13
Ort: Malung
Inlägg: 577
Lösningar: 13 |
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å?
|
|
|
|
|
|
#3 |
|
Forumvärd
Registrerad: 2001-06-14
Ort: Helsingborg
Inlägg: 8 502
Lösningar: 537 |
Kod:
Function newLeft(str,length)
With New RegExp
.Global = True
.Pattern = "(<[^<>]*>)"
str = .Replace(str, "")
End With
newLeft = Left(str & "",length)
End Function
__________________
"det går inte att lära en gammal norrlänning byta namn på irc" - gammalt kinesiskt uttryck Senast redigerad av voigtann1, 2007-07-03 klockan 14:05 |
|
|
|
|
|
#4 |
|
Medlem
Registrerad: 2003-09-13
Ort: Malung
Inlägg: 577
Lösningar: 13 |
Typ så ja
|
|
|
|
|
|
#5 |
|
Forumvärd
Registrerad: 2001-06-14
Ort: Helsingborg
Inlägg: 8 502
Lösningar: 537 |
ändra "(<[^>]*>)" till "(<[^<>]*>)"
__________________
"det går inte att lära en gammal norrlänning byta namn på irc" - gammalt kinesiskt uttryck |
|
|
|
|
|
#6 |
|
Medlem
Registrerad: 2001-04-01
Ort: Inte i skåne.
Inlägg: 796
Lösningar: 5 |
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: Kod:
<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> "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?
|
|
|
|
|
|
#7 |
|
Forumvärd
Registrerad: 2001-06-14
Ort: Helsingborg
Inlägg: 8 502
Lösningar: 537 |
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>
__________________
"det går inte att lära en gammal norrlänning byta namn på irc" - gammalt kinesiskt uttryck |
|
|
|
|
|
#8 |
|
Forumvärd
Registrerad: 2001-06-14
Ort: Helsingborg
Inlägg: 8 502
Lösningar: 537 |
Kod:
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
... hoppas jag
__________________
"det går inte att lära en gammal norrlänning byta namn på irc" - gammalt kinesiskt uttryck Senast redigerad av voigtann1, 2007-07-04 klockan 10:58 |
|
|
|
|
|
#9 |
|
Medlem
Registrerad: 2001-04-01
Ort: Inte i skåne.
Inlägg: 796
Lösningar: 5 |
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.
|
|
|
|
|
|
#10 |
|
Forumvärd
Registrerad: 2001-06-14
Ort: Helsingborg
Inlägg: 8 502
Lösningar: 537 |
så... du vill ta bort alla taggar förutom <span.....> rätt?
__________________
"det går inte att lära en gammal norrlänning byta namn på irc" - gammalt kinesiskt uttryck |
|
|
|
|
|
#11 |
|
Forumtekniker
Registrerad: 2001-06-13
Ort: Stockholm
Inlägg: 3 385
Lösningar: 198 |
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.
__________________
Yes, I Blag! |
|
|
|
|
|
#12 | |
|
Forumvärd
Registrerad: 2001-06-14
Ort: Helsingborg
Inlägg: 8 502
Lösningar: 537 |
Citat:
__________________
"det går inte att lära en gammal norrlänning byta namn på irc" - gammalt kinesiskt uttryck |
|
|
|
|
|
|
#13 |
|
Forumtekniker
Registrerad: 2001-06-13
Ort: Stockholm
Inlägg: 3 385
Lösningar: 198 |
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.
__________________
Yes, I Blag! |
|
|
|
|
|
#14 |
|
Medlem
Registrerad: 2001-04-01
Ort: Inte i skåne.
Inlägg: 796
Lösningar: 5 |
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
|
|
|
|
|
|
#15 |
|
Forumvärd
Registrerad: 2001-06-14
Ort: Helsingborg
Inlägg: 8 502
Lösningar: 537 |
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...
__________________
"det går inte att lära en gammal norrlänning byta namn på irc" - gammalt kinesiskt uttryck |
|
|
|
![]() |
| Trådverktyg | |
| Visningsalternativ | |
|
|