#1: Hm... låter som Regular Expression är nått för dig, har tyvärr inte själv satt mig in i det så jag kan inte hjälpa dig tyvärr.
#2: replace(TEXTEN,vbcrlf,"<br>")
11 svar · 456 visningar · startad av asp
Hej, jag efterlyser två stycken funktioner.
#1. Allt mellan < och > tas bort.
#2. Gör <br> på alla vbCrLf men dock inte mellan < och >.
#1: Hm... låter som Regular Expression är nått för dig, har tyvärr inte själv satt mig in i det så jag kan inte hjälpa dig tyvärr.
#2: replace(TEXTEN,vbcrlf,"<br>")
Båda kräver RegExp.
Ettan är ganska enkel:
Function RemoveHTML(ByVal sString)
Dim objRegExp
Set objRegExp = New RegExp
objRegExp.Global = True
objRegExp.Pattern = "<[^>]*>"
RemoveHTML = objRegExp.Replace(sString, "")
Set objRegExp = Nothing
End Function
Tvåan är dock lite mer krånglig...
Function BreakNonHTML(ByVal sString)
Dim objRegExp, mc, mi, lLastIndex, sMatch, sBefore, vMatch, i
Set objRegExp = New RegExp
objRegExp.Global = True
objRegExp.Pattern = "<[^>]*>"
Set mc = objRegExp.Execute(sString)
Set objRegExp = Nothing
ReDim vMatch(mc.Count * 2)
lLastIndex = 1
For Each mi In mc
sBefore = Mid(sString, lLastIndex, mi.FirstIndex - lLastIndex + 1)
sMatch = mi.Value
vMatch(i) = Replace(sBefore, vbCrLf, "<br>")
vMatch(i + 1) = sMatch
lLastIndex = mi.FirstIndex + Len(sMatch) + 1
i = i + 2
Next 'mi
vMatch(i) = Replace(Mid(sString, lLastIndex), vbCrLf, "<br>")
Set mi = Nothing
BreakNonHTML = Join(vMatch, "")
End Function
Grymt mkt tack!
Jag får detta.
Körningsfel i Microsoft VBScript (0x800A005E)
Ogiltig användning av Null: 'Replace'
På denna rad: vMatch(i) = Replace(Mid(sString, lLastIndex), vbCrLf, "<br>")
Såhär skriver jag ut.
makeBr(objRs("brodtext"))
Om fältet brodtext är null så måste du hantera det på något sätt. Exempel:
response.write makeBr("" & objRs("brodtext"))
Tack, det fungerar. Men oavsett om fältet var tomt eller inte fick jag felmeddelande, konstigt!
Hmm en fråga..
Den andra funktionen var lite fel, jag beskrev fel.
Det jag vill är att den inte skall lägga till <br> på varje rad om det är mellan < och > utan att den skall inte lägga till <br> om det är html kod.
t.ex. så krånglar det när man skapar en tabell...
Jo, det är bra. Men t.ex. det blir buggigt vid detta exempel. (Jag vet att inte funktionen klarar av det.)
Här är texten:
<table>
<tr>
<td>Hej</td>
<td>Då!</td>
</tr>
</table>
Såhär blir det:
<table><br>
<tr><br>
<td>Hej</td><br>
<td>Då!</td><br>
</tr><br>
</table><br>
Förstår du? En smart lösning kanske skulle vara att skriva (kod) och (/kod) runt HTML-kod när den innehåller flera rader kod.
Varför inte se till att texterna inuti tabellcellerna innehåller <br>-radbrytningar då?
Hmm.. vad menar du?
Kanske man skall göra så att det inte blir <br> på de rader som börjar på < och slutar på >. ?