Avatar billede top Nybegynder
08. oktober 2001 - 09:26 Der er 10 kommentarer og
1 løsning

finde alle forekomster af src=\"....\" i en tekst

Jeg har en række htmlsider liggende i en db, og vil finde stien på samtlige billeder.
Jeg laver et sql udtræk der viser alle sider hvor .jpg, .gif eller .png indgår.

Nu vil jeg så parse disse tekster igennem for at få returneret alle <IMG>-tags (jeg kender ikke alle attributterne på forhånd, så jeg vil have hele tag\'et)

En kodestump der (næsten) kan cut\'n\'pastes ville være rart.
Avatar billede tmceu Praktikant
08. oktober 2001 - 09:30 #1
Vil du gøre det i ren SQL eller via ASP ?
Avatar billede top Nybegynder
08. oktober 2001 - 09:32 #2
Det er ligemeget, men mig bekendt kan man ikke i sql..
Avatar billede z42cool Nybegynder
08. oktober 2001 - 10:16 #3
Du kan lave det i asp v.h.a. et regular expression! Bruger du VBScript eller JScript?
Avatar billede top Nybegynder
08. oktober 2001 - 10:33 #4
Øhh - hvad snakker du om?
Avatar billede z42cool Nybegynder
08. oktober 2001 - 10:35 #5
Hvilket script sprog bruger du i dine ASP sider? JScript (Microsofts fortolking af JavaScript) eller VBScript (Visual Basic Scripting Edition).
Avatar billede burningice Nybegynder
08. oktober 2001 - 10:38 #6
z42cool>> siden det åbenbart er sort snak for top vil jeg tro han bruger VBScript da det er default i IIS
Avatar billede top Nybegynder
08. oktober 2001 - 10:40 #7
Jeg har lige checket (det stod jo øverst i (min) kode .-))

VBScript !
Avatar billede top Nybegynder
09. oktober 2001 - 12:31 #8
Det eneste brugbare i denne tråd er at jeg kan bruge reg. exp (på trods af at I spurgte om andre omstændigheder)..

Der er 10 points til z42cool for at lede mig på sporet (hvis du lige poster et svar)

Der er 30 point for det rigtige reg. exp. (http://www.eksperten.dk/spm/118842) hvis I er interesserede
Avatar billede z42cool Nybegynder
09. oktober 2001 - 13:03 #9
<%

Dim TestString
TestString = \"<table width=\"\"135\"\" border=\"\"0\"\" cellspacing=\"\"0\"\" cellpadding=\"\"2\"\"><tr>\" &_
    \"<td width=\"\"7\"\"><img src=\"\"../../images/gen/spacer.gif\"\" width=\"\"7\"\" height=\"\"1\"\"></td>\" &_
    \"<td width=\"\"125\"\"><a href=\"\"/Scripts/Status/Positions.asp?\"\" class=\"\"menu\"\">Placering</a></td>\" &_
    \"</tr><tr> \" &_
    \"<td width=\"\"7\"\"><img src=\"\"../../images/gen/spacer.gif\"\" width=\"\"7\"\" height=\"\"1\"\"></td>\" &_
    \"<td width=\"\"125\"\"><a href=\"\"/Scripts/Status/TradesOverview.asp\"\" class=\"\"menu\"\">Handelsoversigt</a></td>\" &_
    \"</tr><tr>\" &_
    \"<td width=\"\"7\"\"><img src=\"\"../../images/gen/spacer.gif\"\" width=\"\"7\"\" height=\"\"1\"\"></td>\" &_
    \"<td width=\"\"125\"\"><a href=\"\"/Scripts/Status/PersProfile.asp\"\" class=\"\"menu\"\">Personprofil</a></td>\" &_
    \"</tr><tr>\" &_
    \"<td width=\"\"7\"\"><img src=\"\"../../images/gen/spacer.gif\"\" width=\"\"7\"\" height=\"\"1\"\"></td>\" &_
    \"<td width=\"\"125\"\"><a href=\"\"/Scripts/Status/Evaluation.asp\"\" class=\"\"menu\"\">Evaluering</a></td>\" &_
    \"</tr></table>\"

Dim re, Matches, Match
Set re = New RegExp
re.Pattern = \"img.*?>\"
re.IgnoreCase = True
re.Global = True

Dim reSrc, MatchesSrc, MatchSrc
Set reSrc = New RegExp
reSrc.Pattern = \"src=[\'\'\"\"].*?[\'\'\"\"]\"
reSrc.IgnoreCase = True
reSrc.Global = True

Set Matches = re.Execute(TestString)

For Each Match In Matches
    Set MatchesSrc = reSrc.Execute(Match.value)
    For Each MatchSrc In MatchesSrc
        Response.Write(MatchSrc.Value & \"<br>\")
    Next
Next

%>
Avatar billede z42cool Nybegynder
09. oktober 2001 - 13:04 #10
Dette kune gøres væsentligt nemmere i JScript, men da regular expressions i VBScript ikke tillader sub-expressions er det nødvendigt først at finde alle image tags og derefter src attributterne i image de fundne image tags!
Avatar billede top Nybegynder
09. oktober 2001 - 13:17 #11
Cool - det kan bruges.. Alle point går til z42cool
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

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