Avatar billede biohazard_666 Nybegynder
26. september 2004 - 19:14 Der er 11 kommentarer og
1 løsning

RegExp og resize

Hejsa..
Jeg har denne kode der checker hvor stor en fil er i bredden:

set regcon = new RegExp
regcon.pattern = "\[img\](.*?)\[\/img\]"
regcon.ignoreCase = true
regcon.Global = true

sti = regcon.replace(tekst, "$1")

Dim MyArray
MyArray = Split(sti, "/", -1, 1)
' MyArray(5) indeholder mappenavnet
' MyArray(6) indeholder filnavnet
Path = "d:\web\case-modding.dk\www\pic\guide\" & MyArray(5) & "\" & MyArray(6)
Path = Split(Path,"<br>")(0)

' Create instance of AspJpeg
Set Jpeg = Server.CreateObject("Persits.Jpeg")
' Compute path to source image

' Open source image
Jpeg.Open Path
           
if Jpeg.Width < 300 then

tekst = regcon.replace(tekst, "<img src=""$1"" onclick=""popup(''$1'',''Billedevisning'');""><br>Klik for at forstørre billedet!")

else

tekst = regcon.replace(tekst, "<img width=""300"" src=""$1"" onclick=""popup(''$1'',''Billedevisning'');""><br>Klik for at forstørre billedet!")

end if

Set Jpeg = Nothing

Problemet er at hvis jeg har 2 steder i min kode hvor der bliver lavet en replace, bliver nr. 2 billede automatisk sat til den samme bredde værdi som det første billede har. fx:
jeg har et billede som er 12px i bredden.
Det finder min kode ud af og den sætter IKKE en width="300" i min <img> kode.. Hvis jeg så har et billede nr. 2 der er 500px i bredden får den ingen begrænsning på 300 i width.. Kan i hjælpe mig med at få det til at fungere :)

/Bio
Avatar billede erikjacobsen Ekspert
26. september 2004 - 19:18 #1
regcon.Global = false

og så put hele baduljen i en løkke, så du kun erstatter een af gangen til der ikke er flere. Det tager sin tid, så hvorfor gør du det ikke ved upload og putter resulatet
i en database, og trækker bredden derfra?
Avatar billede biohazard_666 Nybegynder
26. september 2004 - 19:35 #2
det med database kunne jeg jo godt gøre... Hmm... Tror lige jeg vil prøve på det :)
Avatar billede biohazard_666 Nybegynder
26. september 2004 - 20:25 #3
hejsa... har nu fået gjort så det hele kommer i en db.. Men skal stadig bruge et loop.. Hvordan kan jeg lave sårn et? Min variabel tekst er en tekststreng hentet fra en request.form tidligere i scriptet...
Avatar billede erikjacobsen Ekspert
26. september 2004 - 20:42 #4
Du skal vel stadig have  regcon.Global = false
Avatar billede biohazard_666 Nybegynder
26. september 2004 - 22:15 #5
jaja.. Det har jeg sat den til :)
Avatar billede biohazard_666 Nybegynder
12. oktober 2004 - 18:12 #6
ingen der kan hjælpe? heller ikk dig erik?? :(
Avatar billede erikjacobsen Ekspert
12. oktober 2004 - 18:16 #7
Måske med flere oplysninger.
Avatar billede biohazard_666 Nybegynder
12. oktober 2004 - 18:32 #8
oki..
Jeg har sat recgon.Global til False..
Hvordan kan jeg så loope hele min tekst igennem for at checke om der er flere ting der skal replace's?
Avatar billede biohazard_666 Nybegynder
15. oktober 2004 - 17:18 #9
har du ikke fået oplysninger nok?!
Avatar billede erikjacobsen Ekspert
15. oktober 2004 - 17:53 #10
Nu er der vel ingen, der er forpligtet til at svare.

Men hvordan ser din whileløkke så ud?
Avatar billede biohazard_666 Nybegynder
15. oktober 2004 - 18:26 #11
har slet ikk nogen lykke :S Ved ikk hvordan jeg skal lave den..

<--------------------------------------------------->
Nu er der vel ingen, der er forpligtet til at svare.
<--------------------------------------------------->

Nååå nej.. Men man regner vel med at der i det mindste kommer et enkelt svar, enten hvis man ikke kan hjælpe mere, eller hvis man bare ikke har haft tid til at kigge på tingene..
Avatar billede biohazard_666 Nybegynder
08. december 2004 - 21:49 #12
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