Avatar billede it-interesseret Nybegynder
12. december 2006 - 00:04 Der er 13 kommentarer og
1 løsning

Reg.exp. script som finder og lister

Hej alle

Er der ikke en, som kan lave en reg.exp.funktion, som gør følgende:

Find filnavnet på et billede ved udtræk fra en debat-tråd (indlæst i en variable), hvor billedets filnavn er ”indkapslet” af en værdi, som starter med ”send_binary.asp?Path=” og slutter med ”&width=”.

Altså et billede, som f.eks: ”send_binary.asp?Path=billede.jpg&width=123”.

Den skal blot liste ”billede.jpg” og der kan godt være flere billed-henvisninger / links i en debat, så den skal søge hele værdien (html er det faktisk) igennem efter yderligere forekomster.

Noget som nogen kan lave til mig?
Avatar billede lasserasch Juniormester
12. december 2006 - 02:27 #1
Jamen, hvis der er flere forekomster af billed filnavn i strengen, så kan du jo ikke sige at den starter med send_binary.asp? og slutter med &width=

Du kan jo lave en split for at trække billednavnet ud, med du er nødt til at vide hvad den skal splittes på for at få et rigtigt resultat.


F.eks.

<%

Function ImgName(Path)

ImgPath0 = split(Path,"send_binary.asp?Path=")
ImgPath1 = split(ImgPath(1), "&")
ImgName  = ImgPath(0)

End function

response.write "billednavn = " & ImgName(request.querystring(path))

%>

Noget ala det her, men kommer jo an på hvad du mener med flere forekomster

/Lasse
Avatar billede lasserasch Juniormester
12. december 2006 - 02:33 #2
Alternativt, hvis det altid er jpg billeder, så kunne man splitte på først Specialtegn. altså !"#¤&/()=?_-*^¨. Alt hvad er ikke er tal og bogstaver.

Og som slut så splitte på ".jpg". Det ville virke ved alle JPG filer som altså ikke indeholder andet en tal og bogstaver.


eller hvis du ved hvor lang filnavnet er. Altså at det altid er en bestemt længde, så kunne man tælle tilbage fra .jpg og hente navnet ud på den måde.


/Lasse
Avatar billede it-interesseret Nybegynder
12. december 2006 - 10:45 #3
Hej Lasse

Med flere forekomster mener jeg flere billede-links; billeder som godt kan være lagt ind i andet end jpg, så din første løsning kommer tætest på, men mangler blot at kunne udtrække flere forekomster. Noget du kan hjælpe med?
Avatar billede it-interesseret Nybegynder
12. december 2006 - 10:57 #4
Men kan man ikke bare med en reg.exp. sætning splitte på .jpg, .jpeg, .gif, .png, .mpg og .tif.

Reg.exp. sætninger er jo smartere.
Avatar billede jensgram Nybegynder
12. december 2006 - 11:02 #5
Din reg.exp kan se sådan ud:

"/send_binary\.asp\?Path=([^&]+)&width=/i"

Så er gruppe 1 i alle match dit billednavn. Ved dog intet om ASP, så selve implementationen kan jeg ikke hjælpe med.
Avatar billede jensgram Nybegynder
12. december 2006 - 11:07 #6
Avatar billede it-interesseret Nybegynder
14. december 2006 - 12:20 #7
Mange tak. Jeg er kommet så langt som hertil:

<%
StringToSearch = "234234 asdf/send_binary.asp?Path=test.jpg&width=asdfasf sdf asf 3r asdfasdf"

Set regEx = New RegExp
regEx.Pattern = "/send_binary\.asp\?Path=([^&]+)&width=/i"
regEx.Global = True
regEx.IgnoreCase = True
regEx.MultiLine = True

Set CurrentMatches = regEx.Execute(StringToSearch)

If CurrentMatches.Count > 0 Then
    For Each CurrentMatch in CurrentMatches
        If CurrentMatch.SubMatches.Count > 0 Then
            Response.Write CurrentMatch.SubMatches(0)
        End If
    Next
End If

Set regEx = Nothing
%>

Scriptet lister ingen forekomster selvom der i min streng er en - hvad mangler jeg i scriptet?
Avatar billede jensgram Nybegynder
14. december 2006 - 14:40 #8
Ved ikke, om der skal delimiters og modifiers på i ASP.

Prøv

regEx.Pattern = "send_binary\.asp\?Path=([^&]+)&width="
Avatar billede jensgram Nybegynder
19. december 2006 - 16:40 #9
Resultater?
Avatar billede it-interesseret Nybegynder
10. februar 2007 - 14:28 #10
Arbejder stadig med det - måtte lige ligge det på hylden lidt - beklager den lange svartid.

Du skal have dine points - tryk svar :-)
Avatar billede jensgram Nybegynder
10. februar 2007 - 14:58 #11
Ok - tag du selv det meste ;)
Avatar billede it-interesseret Nybegynder
10. februar 2007 - 15:00 #12
Vi skal lige have Lasse med :)
Avatar billede it-interesseret Nybegynder
10. februar 2007 - 21:45 #13
Ups, der glemte jeg lige at pointene røg på en gang.

Beklager Lasse ingen points - med mindre jeg opretter et spg. til - skal jeg det?
Avatar billede jensgram Nybegynder
11. februar 2007 - 00:13 #14
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