[ASP]tekst inkorten met HTML tags

Pagina: 1
Acties:
  • 134 views sinds 30-01-2008
  • Reageer

  • SilentSimon
  • Registratie: Oktober 2001
  • Laatst online: 28-04 23:07

SilentSimon

Have you been hopped?

Topicstarter
Ik heb gezocht doch niks gevonden dus probeer ik het zo :)
Op mijn pagina laat ik de laatste 5 nieuwsberichten zien die gepost zijn en laat ze afkappen om een "lees meer" linkje te genereren. Dit werkt allemaal perfect met de volgende code:
code:
1
2
3
4
5
Dim blaat
blaat =  ObjRs_nieuws("content")
If Len(blaat) > 300 Then
    titel = Left(blaat, 300) & " ..."
End if


Alleen nu is het probleem dat de content die ik wil inkorten soms ook html tags in zich heeft. Nu kort ik dus de tekst in, zonder dat de html tags weer gesloten wordt, wat nogal mijn layout verneukt enzo. Hoe krijg ik het voorelkaar dat ik geopende hml-tags ook weer automatisch sluit. Of een andere nette oplossing?

Verwijderd

Mogelijkheid 1 is een stack bijhouden met de geopende tags, en bij sluittags de hoogste van de stack verwijderen. Als na het afbreken de stack nog niet leeg is dan moet je nog wat tags expliciet afsluiten.

Mogelijkheid 2 is DOM functies gebruiken.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:09

crisp

Devver

Pixelated

Mogelijkheid 3 is alle tags er uit strippen ;)

Intentionally left blank


  • SilentSimon
  • Registratie: Oktober 2001
  • Laatst online: 28-04 23:07

SilentSimon

Have you been hopped?

Topicstarter
Sja daar zat ik net ook aan te denken, gewoon alles tussen < en > opruimen, maar hoe zit het dan met eigen ingevoerde < en >'en.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

SilentSimon schreef op zondag 09 oktober 2005 @ 20:25:
Sja daar zat ik net ook aan te denken, gewoon alles tussen < en > opruimen, maar hoe zit het dan met eigen ingevoerde < en >'en.
Die behoor je te vervangen door < en >. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • SilentSimon
  • Registratie: Oktober 2001
  • Laatst online: 28-04 23:07

SilentSimon

Have you been hopped?

Topicstarter
Juist, je hebt volkomen gelijk :)

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Stop AI Slop

Ik gebruik altijd deze standaard clean functies:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Function RemoveTags(strText)
    ' Vervang HTML tags uit strText door corresponderende HTML codes
    Dim strTemp
    strTemp = Replace(strText, "<", "&lt;")
    strTemp = Replace(strTemp, ">", "&gt;")
    strTemp = Replace(strTemp, Chr(34),"&quot;")
    strTemp = Replace(strTemp, "'", "'")
    RemoveTags = strTemp
End Function

Function RemoveHTML(strText)
    ' Verwijder hele html tags (als <img src=...), voor preview doeleinden
    Dim RegEx

    Set RegEx = New RegExp

    RegEx.Pattern = "<[^>]*>"
    RegEx.Global = True

    RemoveHTML = RegEx.Replace(strText, "")
End Function

[ Voor 23% gewijzigd door CodeCaster op 10-10-2005 12:25 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...

Pagina: 1