10. december 2002 - 16:29
Der er
16 kommentarer
Udskift æøå men kun i <a href="æøå"> og ikke i andet HTML
Hvordan udskifter jeg æøå i et <a href="æ-ø-å"> tag, så det bliver til <a href="ae-oe-aa"> ?? Det må kun være i href taggen den skal gøre det Jeg har fosøgt mig med RegExp men kan ikke få det til at virke.... Kan nogen hjælpe
Annonceindlæg fra gavdi
10. december 2002 - 16:31
#1
Udskriver du det vha. ASP eller hvordan forgår det? -prøv at vis mig noget kode... //>Rune
10. december 2002 - 16:35
#2
Hvis du gør det vha. ASP kan du gøre sådan her: <% Function ChangeChar(strChar) strChar = Replace(strChar,"æ","ae") strChar = Replace(strChar,"ø","oe") strChar = Replace(strChar,"å","aa") End Function Response.Write("<a href=""" & ChangeChar("hjælp.htm") & """>link</a>") %> //>Rune
10. december 2002 - 16:36
#3
Sorry sådan her var det ;o) : <% Function ChangeChar(strChar) strChar = Replace(strChar,"æ","ae") strChar = Replace(strChar,"ø","oe") strChar = Replace(strChar,"å","aa") ChangeChar = strChar End Function Response.Write("<a href=""" & ChangeChar("hjælp.htm") & """>link</a>") %> //>Rune
10. december 2002 - 16:55
#4
med regexp kunne det være: function changeChar(str) Set regEx = New RegExp regEx.Global = true regEx.IgnoreCase = True regEx.Pattern = "(æ)" str = regEx.Replace (str, "ae") regEx.Pattern = "(ø)" str = regEx.Replace (str, "oe") regEx.Pattern = "(å)" str = regEx.Replace (str, "aa") Set regEx = Nothing changeChar = str end function Og så på samme måde som medions skriver: Response.Write ("<a href=""" & ChangeChar("hjælp.htm") & """>link</a>")
10. december 2002 - 17:43
#5
min HTML kode bliver hentet fra en SQL database dvs. hele HTML koden ligger i et felt i DB (hvorfor vides ikke !) eks.. <a href="hjælp til ændre">hjælp til ændre</a> den bliver så hentet ud med en SQL streng Response.write Rs("HTML") dette giver så en HTML som denne <a href="hjælp til ændre">hjælp til ændre</a> Men den skal udskifte <a href> taggen til <a href="hjaelp%20til%20aendre">hjælp til ændre</a> den skal også fjerne mellemrummet Jeg har også prøvet med HTML.encode men det virker heller ikke /giver det nogen mening ?? //mille
10. december 2002 - 17:52
#6
Så gør du bare sådan her: <% Function ChangeChar(strChar) strChar = Replace(strChar,"æ","ae") strChar = Replace(strChar,"ø","oe") strChar = Replace(strChar,"å","aa") ChangeChar = strChar End Function Response.write ChangeChar(Rs("HTML")) %> //>Rune
10. december 2002 - 18:23
#7
rune>> det udskifter da baade bogstaver i a-tagget og udenfor! Det maa vel kunne goeres med regexp, men jeg kan ikke gennemskue hvordan...
10. december 2002 - 18:27
#8
Well så gør vi da bare sådan her: <% Function ChangeChar(strChar) arrWords = Split(strChar," ") For i = 0 To UBound(arrWords) If Not InStr(arrWords(i), "<a") Then strChar = Replace(strChar,"æ","ae") strChar = Replace(strChar,"ø","oe") strChar = Replace(strChar,"å","aa") End If Next ChangeChar = strChar End Function Response.write ChangeChar(Rs("HTML")) %> //>Rune
10. december 2002 - 18:45
#9
Jeg gennemskuede det alligevel: her er en regexp-loesning... regexp1 = /<a href=\"[^\"]*\">/ str = rs("html") sstr = str.match(regexp1); for i = 0 to sstr.length newstr = sstr[i].replace(/æ/g, "ae") newstr = newstr.replace(/ø/g, "oe") newstr = newstr.replace(/å/g, "aa") str = str.replace(sstr[i], newstr) next jeg beklager, hvis der er lidt fejl i koden. Jeg skrev den i javascript og har 'oversat' til vbscript uden at tjekke den
10. december 2002 - 18:50
#10
dgivoni> En lille rettelse ;o) regexp1 = /<a href=\"[^\"]*\">/ str = rs("html") sstr = str.match(regexp1) for i = 0 to UBound(sstr) newstr = sstr[i].replace(/æ/g, "ae") newstr = newstr.replace(/ø/g, "oe") newstr = newstr.replace(/å/g, "aa") str = str.replace(sstr[i], newstr) next str.match(regexp1); ved jeg ik' lige hvad kunne være i VB, da jeg ik' ved hvad Match gør! -Men det er ikke VB ihvertfald ;o) //>RUne
10. december 2002 - 18:53
#11
nej, jeg sidder lige og forsoeger at faa det til at virke, men der er flere ting i vejen :-( Match finder alle de forekomster af regexp1 og laegger dem i et array.
10. december 2002 - 18:56
#12
men paa den anden side saa skulle man jo kunne afvikle jscript-funktioner i vbscript, saa match burde ikke vaere et problem. (jeg tester videre...)
10. december 2002 - 19:06
#13
det her script goer det rigtigt i Jscript: <%@ language="jscript"%> <% var regexp1 = /<a href=\"[^\"]*\">/; var str = "ñlasjkd lñjkasæ-ø-ådflk <a href=\"fjasdk æ-ø-å asld asoiæ-ø-åf \"> af alñsæ-ø-ådj fif </a>"; var sstr = str.match(regexp1); for(var i =0; i < sstr.length; i++) { newstr = sstr[i].replace(/æ/g, "ae"); newstr = newstr.replace(/ø/g, "oe"); newstr = newstr.replace(/å/g, "aa"); str = str.replace(sstr[i], newstr); } Response.write(str); %>
10. december 2002 - 19:08
#14
ha' en god aften... jeg fortsaetter imorgen, hvis det er noedvendigt...
11. december 2002 - 11:00
#15
og her er en fungerende version i vbscript: Dim regexp1, str, Matches, newstr, Match Set regexp1 = New RegExp regexp1.Pattern = "<a href=""[^""]*"">" regexp1.Global = True str = "ñlasjkd lñjkasæ-ø-ådflk <a href=""fjasdk æ-ø-å asld asoiæ-ø-åf ""> af alñsæ-ø-ådj fif </a>" Set Matches = regexp1.Execute(str) newstr = "" For Each Match in Matches Response.write("match: <br>") newstr = Match.value newstr = replace(newstr, "æ", "ae") newstr = replace(newstr, "ø", "oe") newstr = replace(newstr, "å", "aa") str = replace(str, Match.value, newstr) next Execute goer det samme som Match i jscript.
11. december 2002 - 11:01
#16
str skal saa bare saettes lig rs("html") i stedet for den test-streng jeg har brugt
Kurser inden for grundlæggende programmering