Avatar billede thefatman Nybegynder
22. december 2003 - 14:13 Der er 3 kommentarer og
1 løsning

Replace tag til et andet <img> src </img>

Hej folkens

Jeg vil starte med at sige, at jeg fatter keine af Reg.EXP, så jeg håber at mit spørgsmål overhoved passer ind her.

Jeg koder til daglig ASP/VB, og nu vil jeg lave mig en funktion som replacer <src> til <img src=" <SRC>">

Dette kan jeg sagtens lave i ASP, men hvordan laver man det i REG.exp, og hvordan tjekker man at begge tags står der, så man ikke man kan skrive [img] alene og så replacer den.

På forhånd tak
Avatar billede roenving Novice
22. december 2003 - 14:17 #1
reg = new RegExp("[img](\\.*)[/img]","gi")
'Bemærk, jeg kender ikke vb-syntaksen for global og insensitive, så den skal du finde ...
'Ligeledes kender jeg ikke vb-syntaksen for replace, så sådan er det på javascriptsk:
txt = txt.replace(reg,"<img src='\$1'>\$1</img>")
Avatar billede squashguy Nybegynder
22. december 2003 - 14:20 #2
str = "noget"

Set regex = New RegExp
regex.Global = True
regex.IgnoreCase = True
regex.Pattern = "\[img\](.*?)\[/img\]"

newstr = regex.Replace(str, "<img src=""$1"">")
Avatar billede thefatman Nybegynder
23. december 2003 - 21:16 #3
Mange tak.

Smid et svar og du får points.

Men jeg har endnu et spørgsmål..

Jeg har fundet denne kode her inde og den virker fint:
Function MakeLink(strInput)
Set objRegExpHTTP1 = New RegExp
Set objRegExpHTTP2 = New RegExp
Set objRegExpEMail = New RegExp

objRegExpHTTP1.Pattern = "(http|ftp)(:\/\/[\w\._-]+\.[\w\._-]+\S*)"
objRegExpHTTP2.Pattern = "(^|[^\/])(www[^\.\s]?\.[\w\._-]+\.[A-Za-z]{2,3}[\w\S]*)"
objRegExpEMail.Pattern = "([\w\._-]+@[\w\._-]+\.[A-Za-z]{2,3}\S*)"

objRegExpHTTP1.Global = True
objRegExpHTTP2.Global = True
objRegExpEMail.Global = True

objRegExpHTTP1.IgnoreCase = True
objRegExpHTTP2.IgnoreCase = True
objRegExpEMail.IgnoreCase = True

strOutput = objRegExpEMail.Replace(strInput, " <a href='mailto:$1'>$1</a> ")
strOutput = objRegExpHTTP1.Replace(strOutput, " <a href='$1$2' target='_blank'>$1$2</a> ")
strOutput = objRegExpHTTP2.Replace(strOutput, " $1<a href='http://$2' target='_blank'>$2</a> ")

objRegExpHTTP2.Pattern = "(<br>|[,.)\]\}])('>)"
strOutput = objRegExpHTTP2.Replace(strOutput, "$2")

objRegExpHTTP2.Pattern = "(<br>|[,.)\]\}])(' target=)"
strOutput = objRegExpHTTP2.Replace(strOutput, "$2")

objRegExpHTTP2.Pattern = "(<br>|[,.)\]\}])(</a>)"
strOutput = objRegExpHTTP2.Replace(strOutput, "$2$1")

Set objRegExpHTTP2 = Nothing
set objRegExpHTTP1 = Nothing
Set objRegExpEMail = Nothing

MakeLink = strOutput
End Function

Men, min link funktion laver mine billeders URL om til links!
Hvordan tilføjer man til min pattern, så hvis stringen indenholder [IMG], så skal den IKKE lave et link?
Avatar billede thefatman Nybegynder
29. december 2003 - 20:10 #4
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester