Dim regEx ' Create variable. Set regEx = New RegExp ' Create a regular expression. regEx.Pattern = "STRONG>" ' Set pattern. regEx.IgnoreCase = True ' Set case insensitivity. regEx.Global = True ' Set global applicability.
<% Function RegExpReplace(foer,efter,str) Dim regEx ' Create variable. Set regEx = New RegExp ' Create a regular expression. regEx.Pattern = foer & ">" ' Set pattern. regEx.IgnoreCase = True ' Set case insensitivity. regEx.Global = True ' Set global applicability. RegExpReplace = regEx.replace(str,efter & ">") End Function
Ok det ser fornuftigt ud men hvad så når jeg skal replace på mere end blot STRONG men måske oxo på EM i en og samm ombæring skal jeg køre teksten igennem functionen flere gange for det er jo ikke ret smart :o)
Det kommer om på om du også vil have lavet emphasized til bold, eller om du f.eks. vil have det lavet til italic. Hvis det også skal være bold, kan du inkludere det i dit pattern, sådan her:
<% Function RegExpReplace(foer,efter,str) Dim regEx ' Create variable. Set regEx = New RegExp ' Create a regular expression. regEx.Pattern = foer ' Set pattern. regEx.IgnoreCase = True ' Set case insensitivity. regEx.Global = True ' Set global applicability. RegExpReplace = regEx.replace(str,efter & ">") End Function
tekst = "jeg tester <STRONG>lige</STRONG> på det <EM>her</EM>"
Ellers kan du bare kalde funktionen to gange, sådan her:
<% Function RegExpReplace(foer,efter,str) Dim regEx ' Create variable. Set regEx = New RegExp ' Create a regular expression. regEx.Pattern = foer ' Set pattern. regEx.IgnoreCase = True ' Set case insensitivity. regEx.Global = True ' Set global applicability. RegExpReplace = regEx.replace(str,efter & ">") End Function
tekst = "jeg tester <STRONG>lige</STRONG> på det <EM>her</EM>"
tekst = RegExpReplace("(STRONG>)","b",tekst) response.write RegExpReplace("(em>)","i",tekst) %>
Jeg var selvfølgelig på udkig efter en function der kunne lave STRONG om til b, EM om til i osv. i et og samme hug, men det sidste eksempel virker fint så den må jeg bruge indtil jeg finder noget smartere :o)
<% Function RegExpReplace(foer,efter,strHtml) Dim regEx Set regEx = New RegExp regEx.Pattern = foer regEx.IgnoreCase = True regEx.Global = True RegExpReplace = regEx.replace(strHtml,efter & ">") End Function %>
og bruger så følgende til at skifte tags ud med :
<% If Request.Form("S1") <> "" Then Dim Text, Text1, Text2 Text = Request.Form("S1") Text1 = RegExpReplace("STRONG>", "b", Text) Text2 = RegExpReplace("EM>", "i", Text1) Response.Write Server.HTMLEncode(Text2) End If %>
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.