Jag har i en stor textmassa/html-kod med inbäddade bilder som kan se ut t.ex. så här: Har själv mekat lite nu. Har en kod som gör det jag vill få gjort, men vill gärna veta om nåt kan omskrivas till det bättre.Hjälp med en reg exp funktion
<code><IMG class=bildholder alt="text" src="/showpic.asp?bild=50&width=220" align=right border=0></code>
Nu undrar jag om någon som är duktig på reg exp kan hjälpa mig med en funktion? Jag vill ha en funktion där följande tre parametrar skickas in:
sträng, med hela textmassan
heltal, ett id på en bild
sträng, en alt-text
I exemplet ovan är då bildens id 50. Det jag vill att funktionen gör är att alt-texten för den img-taggen som innehåller sökväg till bild med rätt id ersätts mot den nya alt-texten som skickades in i funktionen.
Är själv hopplöst dålig på reg exp, så stort tack på förhand!
Den måste även ta hänsyn till att alt och src lika gärna kan ligga i omvänd ordning inom img-taggen samt ibland skickas även fler parametrar än bild till filen showpic.asp.Sv: Hjälp med en reg exp funktion
Utökade även funktionaliteten med att bildens ID kan vara okänt. Denna kod plockar ut enbart bildens ID från html-massan som ligger i variabeln workarea.
<code>regEx.Pattern = "([^<]*)(<img[^>]*bild=)([^>]*)(&[^*]*)"
bildid= regEx.Replace(workarea, "$3")</code>
Sedan hämtar jag med hjälp av bildid en ny text från databas och lägger i variabel newbildtext. Efter det byter jag ut alt-texten på specifik bild med dessa:
<code>'om alt-texten ligger sent inom img-taggen
regEx.Pattern = "(<img[^>]*bild="& bildid &")([^>]*) alt=""[^""]*""([^>]*>)"
workarea= regEx.Replace(workarea, "$1 alt="""& newbildtext & """$2")
'om alt-texten ligger tidigt inom img-taggen
regEx.Pattern = "(<img[^>]*)( alt=""[^""]*"")([^>]*bild="& bildid &"[^*]*)"
workarea= regEx.Replace(workarea, "$1 alt="""& newbildtext & """$3")</code>
Detta har funkat vid tester, men vill veta från nån mer kunnig om det är korrekt och säkert att köra detta i skarpt läge.