webForumDet fria alternativet

Regexp, ta bort p-tagg från bild

.NET

14 svar · 1 073 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Frågan#1

Skulle verkligen behöva lära mig skapa patterns själv men nu behöver jag hjälp! :)
Jag behöver ett pattern som tar bort p-tagg om en bild ligger däri, så här:
Kod in:

<p><img src="/mapp/bild.gif" alt=""... /></p>

Kod ut:

<img src="/mapp/bild.gif" alt=""... />

Det kan dock finnas tillfällen då p-taggen även innehåller text och då ska inte p-taggen tas bort!

Det är alltså bara om det ligger en ensam bild som p-taggen ska tas bort! :)

Skål! :bire

Medlem sedan okt. 20071 082 inlägg
#2

jag förstår inte frågan

Medlem sedan okt. 20071 082 inlägg
#3

är det fråga eller påstående?

Medlem sedan juni 20003 076 inlägg
#4

Fråga! :)

doggelito skrev:

Jag behöver ett pattern som tar bort p-tagg om en bild ligger däri

Medlem sedan sep. 200278 inlägg
#5

Följande regex bör iaf matcha en p-tagg med en img-tagg (resten av logiken får du skriva själv;)).

<p>(<img[^(/>)]+/>)</p>

Jag kan varmt rekommendera ett program som heter The Regex Coach (http://www.weitz.de/regex-coach/) för att testa och lära sig RE! Funkar skitbra, värt en testsväng!

Medlem sedan juni 20003 076 inlägg
#6

Supertack ordell, ska genast testa. :)
Och tack för tipset om progget! :bire

Medlem sedan juni 20019 519 inlägg
#7

http://www.regexbuddy.com/ kan jag även rekomendera...

Medlem sedan sep. 200278 inlägg
#8

RegexBuddy är också ett bra program, no doubt. Jag har dock fastnat för Regex Coach, men det är en smaksak, såklart :)

Medlem sedan juni 20003 076 inlägg
#9

Fan, försöker man själv och hur går det? Tvärnit! :(
Patternet funkar inte till 100%, den fastnar på bildens sökväg som innehåller /.
Denna ger ingen matchning:

<p><img alt="" height="207" src="/mapp/bild.jpg" width="477" /></p>

Jag behöver alltså få in slash "/" i patternet på nått vis, hur ska det se ut?

Medlem sedan juni 20019 519 inlägg
#10
<p>(<img[^(/>)]+/>)</p>

fungera inte alls som ordell vill att den ska fungera.. du kan inte använda [^] och () som en grupp..
egentligen borde:

<p>(<img.+/>)</p>

räcka för dig. Om det nu inte är så att du ha andra taggar mellan din <p> tagg <p><img src="bob"><br/></p> då kommer den matcha på br taggen också.

Medlem sedan juni 20003 076 inlägg
#11

voigtann1, du är en klippa! :bire
ju enklare, destå bättre! ;)

Medlem sedan sep. 200278 inlägg
#12

Damn it! Haha! Jag testade det inte ordentligt, skönt att någon har koll :)

Medlem sedan sep. 200278 inlägg
#13

Å andra sidan.. det där regexet matchar även <p><img ../>bla bla bla<br /></p>

Meningen var väl att det skulle matcha en p-tagg med enbart en bild i?

Medlem sedan juni 20019 519 inlägg
#14

ordell skrev:

Å andra sidan.. det där regexet matchar även <p><img ../>bla bla bla<br /></p>

voigtann1 skrev:

Om det nu inte är så att du ha andra taggar mellan din <p> tagg <p><img src="bob"><br/></p> då kommer den matcha på br taggen också.

Det var ju det jag skrev. + scenariot säger ju faktist inte något annat :)

Medlem sedan sep. 200278 inlägg
#15

Haha, jag kanske ska ta och läsa vad folk skriver också :)

272 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)